您的位置:首页 > 运维架构

hadoop优化之MapReduce的Uber方式运行

2015-10-21 16:27 218 查看
hadoop2.x版本中新增了Uber方式运行MR。

什么是Uber呢?

hadoop中对于Uber做了如下的定义:

1、mapreduce.job.ubertask.enable=true 首先你要启用uber模式,默认是false

2、map数量<=9,

3、reduce<=1,

4、所有输入文件的总长度<=默认块大小(128M),

5、mapreduce.map.memory.mb(默认1024)<=内存需求(内存需求的大小由yarn.app.mapreduce.am.resource.mb来决定,默认1536M)

6、cpu<=yarn.app.mapreduce.am.resource.cpu-vcores(默认1)

7、非链式方式运行MR

Uber方式运行MapReduce的好处是什么呢?

举例说明,假定默认ReduceTaskNum=1:

比如目标文件夹下有6个小文件,每个文件从5M-20M不等,现在需要通过MR执行相关的统计,

如果不采用Uber模式则需要启动MapReduce作业数为:

1、MapTask=6

2、ReduceTask=1

一起需要去资源管理器申请7次资源(此处省略了MRAppMaster的启动资源)

采用Uber方式运行:

总的资源只需要1个即可。这个资源会被重复利用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: