Uber模式是Hadoop2.0中实现的一种针对MR小作业的优化机制。即如果作业足够小,则所有task在一个jvm(mrappmaster)中完成要比为每个task启动一个container更划算。下面是该机制的相关参数,这些参数均为客户端配置。
总开关
- mapreduce.job.ubertask.enable 默认值:false
作业规模条件
- mapreduce.job.ubertask.maxmaps 最大map数,默认值:9
- mapreduce.job.ubertask.maxreduces 最大reduce数,默认值:1 (社区2.2.0只支持0或1个reduce)
- mapreduce.job.ubertask.maxbytes 最大输入字节数,默认值:默认的blocksize,即64MB
资源需求条件
map或reduce的内存需求不大于appmaster的内存需求
- mapreduce.map.memory.mb (默认值:0) <= yarn.app.mapreduce.am.resource.mb (默认值:1536)
- mapreduce.reduce.memory.mb (默认值:0) <= yarn.app.mapreduce.am.resource.mb (默认值:1536)
map或reduce的CPU需求不大于appmaster的CPU需求
- mapreduce.map.cpu.vcores (默认值:1) <= yarn.app.mapreduce.am.resource.cpu-vcores (默认值:1)
- mapreduce.reduce.cpu.vcores (默认值:1) <= yarn.app.mapreduce.am.resource.cpu-vcores (默认值:1)
非Chain作业
- mapreduce.job.map.class 不继承于 org.apache.hadoop.mapreduce.lib.chain.ChainMapper
- mapreduce.job.reduce.class 不继承于 org.apache.hadoop.mapreduce.lib.chain.ChainReducer
Uber模式参数(客户端配置),布布扣,bubuko.com
Uber模式参数(客户端配置)
原文:http://blog.csdn.net/liangliyin/article/details/20928653