mapreduce的調優總結
mapreduce
伺服器調優
1. mapreduce.task.io.sort.factor: mr程式進行合併排序的時候,開啟的檔案數量,預設為10個.
3. mapreduce.map.sort.spill.percent: mr程式進行flush操作的閥值,預設0.80。
4. mapreduce.reduce.shuffle.parallelcopies: mr程式reducer copy資料的執行緒數,預設5。
5. mapreduce.reduce.shuffle.input.buffer.percent: reduce複製map資料的時候指定的記憶體堆大小百分比,預設為0.70
,適當的增加該值可以減少map資料的磁碟溢位,能夠提高系統效能。
6. mapreduce.reduce.shuffle.merge.percent:reduce進行shuffle的時候,用於啟動合併輸出和磁碟溢寫的過程的閥值,預設為0.66。如果允許,適當增大其比例能夠減少磁碟溢寫次數,提高系統效能。同mapreduce.reduce.shuffle.input.buffer.percent一起使用。
7. mapreduce.task.timeout:mr程式的task執**況匯報過期時間,預設600000(10分鐘),設定為0表示不進行該值的判斷。
階段調優
介紹:實現自定義combine要求繼承reducer類,特點:
以map的輸出key/value鍵值對作為輸入輸出鍵值對,作用是減少網路輸出,在map節點上就合併一部分資料。
比較適合,map的輸出是數值型的,方便進行統計。
壓縮設定:
在提交job的時候分別設定啟動壓縮和指定壓縮方式。
reducer
階段調優
reducer調優主要是通過引數調優和設定reducer的個數來完成
。reducer個數調優:
要求:乙個reducer和多個reducer的執行結果一致,不能因為多個reducer導致執行結果異常。
規則:一般要求在hadoop集群中的執行mr程式,map執行完成100%後,盡量早的看到reducer執行到33%,可以通過命令hadoop job -status job_id或者web頁面來檢視。
優點:充分利用集群的優勢。
缺點:有些mr程式沒法利用多reducer的優點,比如獲取top n的mr程式。
對mapReduce效能調優的總結
mapreduce效能調優的著手點有如下幾個 1 map輸出的壓縮 2 reducetask數量的設定 3 shuffle資料處理過程中的一些引數 分別如下 一 map的輸出壓縮 設定方法有兩種 1 通過configuration.set name,value 設定 2 通過配置檔案mapred s...
MapReduce作業調優
1,map緩衝區記憶體改大 環形緩衝區越大,溢寫次數越少,磁碟 io 的次數越少,執行速度就越快 預設100m,可配置 2,map輸出壓縮 減少io 可配置 3,reduce拉取過來的資料直接存記憶體,避免落盤,這樣合併也能在記憶體中完成 可配置 4,shuffle中的多次磁碟io操作非常消耗效能,...
mapreduce作業調優tips
這幾天一直在優化job,下面是我認為有用的一些tips。推測執行在整個集群上關閉,特定需要的作業單獨開啟,一般可以省下約5 10 的集群資源。由mapred.map.task.speculative.execution default true 和mapred.reduce.task.specula...