Hadoop 企業優化

2021-09-27 05:14:22 字數 2423 閱讀 2241

mapreduce優化方法主要從六個方面考慮:資料輸入、map階段、reduce階段、io傳輸、資料傾斜問題和常用的調優引數。

2.6.1 資源相關引數

以下引數是在使用者自己的mr應用程式中配置就可以生效[mapred-default.xml]

配置引數

引數說明

mapreduce.map.memory.mb

乙個maptask可使用的資源上限(單位:mb),預設為1024。如果maptask實際使用的資源量超過該值,則會被強制殺死

mapreduce.reduce.memory.mb

乙個reducetask可使用的資源上限(單位:mb),預設為1024。如果reducetask實際使用的資源量超過該值,則會被強制殺死

mapreduce.map.cpu.vcores

每個maptask可使用的最多cpu core數目,預設值: 1

mapreduce.reduce.cpu.vcores

每個reducetask可使用的最多cpu core數目,預設值: 1

mapreduce.reduce.shuffle.parallelcopies

每個reduce去map中取資料的並行數。預設值是5

mapreduce.reduce.shuffle.merge.percent

buffer中的資料達到多少比例開始寫入磁碟。預設值0.66

mapreduce.reduce.shuffle.input.buffer.percent

buffer大小佔reduce可用記憶體的比例。預設值0.7

mapreduce.reduce.input.buffer.percent

指定多少比例的記憶體用來存放buffer中的資料,預設值是0.0

應該在yarn啟動之前就配置在伺服器的配置檔案中才能生效[yarn-default.xml]

配置引數

引數說明

yarn.scheduler.minimum-allocation-mb

給應用程式container分配的最小記憶體,預設值:1024

yarn.scheduler.maximum-allocation-mb

給應用程式container分配的最大記憶體,預設值:8192

yarn.scheduler.minimum-allocation-vcores

每個container申請的最小cpu核數,預設值:1

yarn.scheduler.maximum-allocation-vcores

每個container申請的最大cpu核數,預設值:32

yarn.nodemanager.resource.memory-mb

給containers分配的最大物理記憶體,預設值:8192

shuffle效能優化的關鍵引數,應在yarn啟動之前就配置好[mapred-default.xml]

配置引數

引數說明

mapreduce.task.io.sort.mb

shuffle的環形緩衝區大小,預設100m

mapreduce.map.sort.spill.percent

環形緩衝區溢位的閾值,預設80%

2.6.2 容錯相關引數(mapreduce效能優化)

配置引數

引數說明

mapreduce.map.maxattempts

每個map task最大重試次數,一旦重試引數超過該值,則認為map task執行失敗,預設值:4

mapreduce.reduce.maxattempts

每個reduce task最大重試次數,一旦重試引數超過該值,則認為map task執行失敗,預設值:4

mapreduce.task.timeout

hdfs 上每個檔案都要在 namenode 上建立乙個索引,這個索引的大小約為 150byte,這樣當小檔案比較多的時候,就會產生很多的索引檔案,一方面會大量占用 namenode 的記憶體空間,另一方面就是索引檔案過大使得索引速度變慢。

小檔案的優化無非以下幾種方式:

Hadoop 六 Hadoop企業優化

mapreduce 程式效率的瓶頸在於兩點 cpu 記憶體 磁碟健康 網路 1 資料傾斜 2 map和reduce數設定不合理 3 map執行時間太長,導致reduce等待過久 4 小檔案過多 5 大量的不可分塊的超大檔案 6 spill次數過多 7 merge次數過多等。mapreduce優化方法...

hadoop的企業優化

前言 mapreduce程式的效率的瓶頸在於兩點 計算機效能 cpu 記憶體 磁碟健康 網路 i o操作 資料傾斜 map和reduce數量設定不合理 map的執行時間太長,導致reduc的等待過久 小檔案過多 大量的補課分塊的超大檔案 spill 溢寫 次數過多 merge 合併 次數過多 map...

12)Hadoop企業優化

mapreduce 跑的慢的原因 mapreduce效率的瓶頸主要有兩點 mapreduce優化方法 mapreduce優化方法主要從六個方面考慮 資料輸入 map階段 reduce階段 io傳輸 資料傾斜問題和常用的調優引數 map階段 reduce階段 io傳輸 使用sequencefile二進...