1. JobName
指定有意義JobName, 一般是自己的名字+Job作用。
mapred.job.name="xxx_test"
複制
2. Reduce的個數
說明1
mapred.reduce.tasks
複制
3. Job的task并發數
# mapper
mapred.job.max.map.running
# reducer
mapred.job.max.reduce.running
複制
4. 設定Job的失敗比例
# mapper
mapred.max.map.failures.percent
# reducer
mapred.max.reduce.failures.percent
複制
5. 設定Job的優先級
mapred.job.priority
# LOW、VERY_LOW、NORMAL、HIGH、VERY_HIGH 五種類型
複制
6. 設定task的逾時時間
mapred.task.timeout
# (機關:毫秒)
複制
7. 預測執行
mapred.map.tasks.speculative.execution // 預設打開為true,關閉請顯式設定為false
mapred.reduce.tasks.speculative.execution // 預設打開為true,關閉請顯式設定為false
複制
-
如果使用者不主動設定Reduce個數,系統預設啟動一個Reduce。如果使用者處理資料量過大(>10G),則會影響Reduce的處理速度。
根據map的輸出量合理設定reduce的個數,請確定每個reduce處理的資料不超過10G 通過如下參數指定reduce個數.