1,map緩衝區記憶體改大:環形緩衝區越大,溢寫次數越少,磁碟 io 的次數越少,執行速度就越快(預設100m,可配置)
2,map輸出壓縮:減少io(可配置)
3,reduce拉取過來的資料直接存記憶體,避免落盤,這樣合併也能在記憶體中完成(可配置)
4,shuffle中的多次磁碟io操作非常消耗效能,一些情況下要避免shuffle,例如合併小檔案,不需要reducetask,每次讀取檔案乙個檔案後將檔案寫出,其實也可以用combinefileinputformat來處理小檔案:
1.設定小檔案合併成邏輯切片的大小 ,
//合併檔案的大小 byte為單位
conf.setlong("mapreduce.input.fileinputformat.split.minsize", 1024*2);//2m
2.設定輸入類
mapreduce作業調優tips
這幾天一直在優化job,下面是我認為有用的一些tips。推測執行在整個集群上關閉,特定需要的作業單獨開啟,一般可以省下約5 10 的集群資源。由mapred.map.task.speculative.execution default true 和mapred.reduce.task.specula...
MapReduce的調優總結
mapreduce的調優總結 mapreduce 伺服器調優 1.mapreduce.task.io.sort.factor mr程式進行合併排序的時候,開啟的檔案數量,預設為10個.3.mapreduce.map.sort.spill.percent mr程式進行flush操作的閥值,預設0.80...
7 3 3mapreduce配置調優
通過調節配置引數,達到較優的效能。map配置引數 屬性型別 預設值作用 mapreduce.task.io.sort.mb intmap輸出結果的緩衝區大小兆為單位 mapreduce.map.sort.spill.percent float 緩衝區占用比例達到這個閾值時,就會生成溢位檔案,將map...