1. 程式人生 > >Hadoop效能調優方法

Hadoop效能調優方法

當我們寫完一個MR程式之後,我們希望能夠加快程式的執行速度,那麼怎麼進行效能的調優呢,有如下幾種方法?

1、mapper的數量

適當調整mapper的數量,使得每個mapper的執行時間在1分鐘為宜。因為mapper數量過小,則會導致整體速度過慢。太多則導致檔案的定址開銷,以及namenode和datanode的互動更加頻繁。

2、reducer的數量

叢集中reducer的數量應該略少於reducer的任務槽數。這將使reducer能夠在同一個週期完成。充分利用叢集。

3、combiner

合理的利用combiner,減少中間mapper —> reducer過程中資料的傳輸數量。

4、中間值的壓縮

將mapper的輸出進行壓縮

5、shuffle

記憶體中的shuffle過程可以對記憶體的引數進行一些調整,以彌補效能的不足。

相關推薦

Hadoop效能調方法

當我們寫完一個MR程式之後,我們希望能夠加快程式的執行速度,那麼怎麼進行效能的調優呢,有如下幾種方法? 1、mapper的數量 適當調整mapper的數量,使得每個mapper的執行時間在1分鐘為宜。因為mapper數量過小,則會導致整體速度過慢。太多則導致

Hadoop效能調全面總結

一、 Hadoop概述 隨著企業要處理的資料量越來越大,MapReduce思想越來越受到重視。Hadoop是MapReduce的一個開源實現,由於其良好的擴充套件性和容錯性,已得到越來越廣泛的應用。 Hadoop實現了一個分散式檔案系統(Hadoop Distributed File Sys

一般專案常用效能調方法(三)

靜態檔案優化靜態檔案優化主要是指對檔案大小的優化。檔案大小往往被很多開發人員忽略,但對於頻寬有限(公網專案)或者硬體裝置(主要是交換機)老舊的環境,檔案大小往往是效能的最大瓶頸。試想一個index.ac

一般專案常用效能調方法(二)

功能優化從功能設計上,避免一次性載入大量資料。遇到一次性載入大量資料的,通過以下問題尋找功能優化方式:1.       設定預設查詢條件,僅載入部分資料。如對於監測資料的查詢分析,可預設僅查詢當天或當月

關於Java虛擬機器效能調方法的一些分析

關於效能調優: 1 需要一個性能探測器,找到呼叫最頻繁的程式碼段,優化這部分程式碼(優化演算法) 2 往往1%的程式碼執行時間佔99%。所以優化這些程式碼就能事半功倍。 3 最好是能看懂編譯後的程式碼,這樣分析最徹底。 Java的效能分析使用JProfiler 堆疊分析使用的Jstack Java效能調優 S

Tomcat生產效能調方法

Tomcat企業級生產效能調優 7個方式: 1.增加JVM堆記憶體大小 : 通過增加JVM的棧記憶體實現,使JVM通常不去呼叫垃圾回收器,所以伺服器可以更多關注處理web請求,並要求儘快完成。 2.修復JRE記憶體洩漏 :tomcat 提供一個監聽器來處理JRE和PermGen的記憶

Xcode8.3.2 效能調工具 Instruments 之 TimeProfiler -- 揪出頁面卡頓利器的使用方法

廢話不多說,直接上乾貨:(切記兩點:1、真機除錯。2、應用程式執行一定要釋出配置而不是除錯配置) 第一步:找到 TimeProfiler (兩種方法) 1、開啟專案 2、開啟專案 第二步:TimeProfiler 配置 第三步:找到耗時的函式 從圖片中可以看出最耗時的是-

Hadoop MapReduce Job效能調——修改Map和Reduce個數

MapReduce框架將檔案分為多個splits,併為每個splits建立一個Mapper,所以Mappers的個數直接由splits的數目決定。而Reducers的數目可以通過job.setNumReduceTasks()函式設定,預設情況只有一個Reducer。在真正的叢集環境下,如果預設,那麼所有的中

Hadoop實戰:*********MapReduce的效能調(一)*********

        下面來談談重頭戲,那就是mapred中的這些NB的引數。前置知識我相信大家都已經瞭解了(如果你還不瞭解mapred的執行機制,看這個也無意義...),首先資料要進行map,然後merge,然後reduce程序進行copy,最後進行reduce,其中的merge和copy總稱可以為shuffle

Hadoop MapReduce Job效能調——Map和Reduce個數

 map task的數量即mapred.map.tasks的引數值,使用者不能直接設定這個引數。Input Split的大小,決定了一個Job擁有多少個map。預設input split的大小是64M(與dfs.block.size的預設值相同)。然而,如果輸入的資料量

java效能調的一些方法

在不斷地開發過程中,我們不再只是侷限於實現功能,我們慢慢開始著眼於提高程式碼的質量,提高程式的效能。程式碼優化就成了一個我們所關注的問題,或許你一開始對java效能調優無從下手,那我們今天就從最基礎的小的細節開始做起,正如1.1的一百次方就成了13780.612

Cloudera Hadoop運維管理與效能調

效能調優之於Hadoop來說無異於打通任督二脈,對於Hadoop的計算能力會有質的的提升,而運維之於Hadoop來說,就好像金鐘罩、鐵布衫一般,有了穩定的運維,Hadoop才能在海量資料之中大展拳腳,兩者相輔相成,缺一不可。 總體來說,Hadoop運維維度取決於Had

java應用效能調之詳解System的gc垃圾回收方法

一、什麼是System.gc()? System.gc()是用Java,C#和許多其他流行的高階程式語言提供的API。當它被呼叫時,它將盡最大努力從記憶體中清除垃圾(即未被引用的物件)。名詞解釋:GC,Garbage Collection,垃圾回收,下文會經常使用。 二、誰可以呼叫System.gc()? &

CPU負載觀察及調方法

cpu負載觀察及調優方法紅帽6實現無滴答 tick lessinterrupt-driven由軟中斷進行驅動在SMP多CPU架構中,傳統上多CPU對於內存的訪問是總線方式。是總線就會存在資源爭用和一致性問題,而且如果不斷的增加CPU數量,總線的爭用會愈演愈烈,這就體現在4核CPU的跑分性能達不到2核CPU的2

JVM調總結(七)-調方法

圖片 死鎖 ron 詳細信息 ict 時間 最大 bsp 底部 JVM調優工具 Jconsole,jProfile,VisualVM Jconsole : jdk自帶,功能簡單,但是可以在系統有一定負荷的情況下使用。對垃圾回收算法有很詳細的跟蹤。詳細說明參考這裏 JP

JVM調總結(十)-調方法

JVM調優工具 Jconsole,jProfile,VisualVM   Jconsole : jdk自帶,功能簡單,但是可以在系統有一定負荷的情況下使用。對垃圾回收演算法有很詳細的跟蹤。詳細說明參考這裡   JProfiler:商業軟體,需要付費。

1.效能調概覽

介紹 Optimization Overview 優化概述 Optimizing SQL Statements 優化SQL語句 Optimization and Indexes 優化和索引 Optimizing Database Structure 優化資料庫結

深入理解Java虛擬機器總結一虛擬機器效能監控工具與效能調(三)

深入理解Java虛擬機器總結一虛擬機器效能監控工具與效能調優(三) JDK的命令列工具 JDK的視覺化工具 效能調優 JDK的命令列工具 主要有以下幾種: jps (Java Process Status Tool): 虛擬機器程序

【Big Data 每日一題】Spark開發效能調總結

1. 分配資源調優 Spark效能調優的王道就是分配資源,即增加和分配更多的資源對效能速度的提升是顯而易見的,基本上,在一定範圍之內,增加資源與效能的提升是成正比的,當公司資源有限,能分配的資源達到頂峰之後,那麼才去考慮做其他的調優 如何分配及分配哪些資源 在生產環境中,提交spark作

nkv客戶端效能調

此文已由作者張洪簫授權網易雲社群釋出。 歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。 問題描述 隨著考拉業務的增長和規模的擴大,很多的應用都開始重度依賴快取服務,也就是杭研的nkv。但是在使用過程中,發現服務端壓力並不是特別大的情況下,客戶端的rt卻很高,導致應用在到達一定併發的情況下,服務的質量下降的