hadoop優化之MapReduce的Uber方式運行

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個即可。這個資源會被重複利用。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章