mapreduce程序在yarn上运行的流程

 

自己学习mapreduce的一点简单的心得

1.当我们在准备在yarn上运行一个mapreduce程序时,job.waitForCompletion()就会去Resource Manager发出一个请求,请求运行一个m r程序;

2.hdfs在获得这个请求之后,会去分配一个jobid和一个job资源提交的路径;

3.接下来就是准备向HDFS提交所需要的资源,分别是所需要的jar包以及计算切片后得到的切片信息的list信息;

4.准备好资源后,告知R M,向其申请一个容器来运行MRAPPMaster进程;

5.MRAPPMaster在得到请求后,会发布一个创建相应容器的任务,告诉相应的nodemanager,让其创建相应的容器;

6.创建好容器之后,nodemanager会去HDFS上下载启动MRAPPMaster需要的程序文件;

7.程序文件准备好之后,hdfs会发送一个启动MRAPPMaster的shell命令,然后预先创建了MRAPPMaster容器的nodemanager会执行这个shell命令;

8.此时,MRAPPMaster会去想R M请求申请若干容器用来给相应的nodemanager来启动相应的yarnchild,这里容器的数量取决于切片数量以及reducetask来决定;

9.接下来,相应的nodemanager就会去创建相应的容器来准备启动yarnchild程序;

10.MRAPPMaster发送启动yarnchild程序的shell命令,相应准备好容器的nodemanager就会执行shell命令启动yarnchild;

11.待到最后一个reducetask运行完毕之后,MRAPPMaster会向Resource Manager汇报job运行完毕并且退出。资源会被nodemanager回收。


下面有详细图解 ,只是小白的个人理解,如有不对之处,敬请赐教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值