- 参考书籍《深入理解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 |