- 參考書籍《深入理解mapreduce架構設計與實現原理》
- yarn: 各組件的通信協議
- 理解yarn工作流程: yarn–>appMaster–>管理job
part1:yarn內部通信協議
part2: yarn啓動appMaster
part3: appMaster管理job
part4: yarn作業運行模式
1,uber模式
如何決定‘小作業’ ? 在mapred-site.xml中有幾個配置
特點 | 限制條件 | |
---|---|---|
maptask和reducetask串行執行 | reducetask數 | mapreduce.job.ubertask.maxmreduces=1 |
containor重用 | maptask數 | mapreduce.job.ubertask.maxmaps=9 |
文件大小 | mapreduce.job.ubertask.maxmrbytes=128m | |
containor資源限制 | 小於 appmaster可用的資源 |
reducetask的啓動時間?
mapred-default.xml 中有默認的參數配置(number of maps in the job which should be complete before reduces are scheduled for the job)
#在reducetask啓動前,maptask的完成比例值
mapreduce.job.reduce.slowstart.completedmaps=0.05
2,non-uber模式
task狀態—> | task狀態 —> | task狀態 —> | task狀態 | |
---|---|---|---|---|
maptask | scheduled | assigned | completed | |
reducetask | pending | scheduled | assigned | completed |