Hadoop入门之Yarn调度MR流程

首先明确下Yarn到底是什么? Yarn是一个资源调度系统,主要负责任务的维持及为任务分配需要的运行资源.


1.客户端生成相应的文件后,连接resourceManager请求提交一个application

2.resourceManager(RM)给客户端返回一个地址,供客户端提交文件.

3.Client提交文件到指定的HDFS地址上

4.Client向RM申请运行该任务的MRAppMaster.

5.MR将Client的请求的任务初始化为一个task放入到其维护的队列中.

6.当MR的调度策略调度到该task时,向一个NodeManager分配该task

7.NodeManager根据task描述创建一个容器,来运行该task,此次运行的应该是MRAppMaster.需要先从HDFS中将上传的Job信息下载到容器中.(上次Mapreduce流程中说到,MRAppMaster是整个MR过程的控制中心)

8.MRAppMaster根据Job中的信息向RM申请运行Maptask的运行资源.

9.RM将申请的task放入到其维持的任务队列中,根据策略来决定何时运行其中的task

10.Nodemanager得到分配的task,开始分配资源容器

11.MRAppMaster启动各个机器上的Maptask

12.所有Maptask运行结束后,MRAppMaster向RM申请运行相应的Reducertask资源

13.RM根据调度策略分配相应的运行资源

14.Nodemanager得到分配的task,开始分配资源容器

15.MRAppMaster启动各个reducertask

16.所有reducetask运行结束后,MRAppMaster向RM申请注销自己,进行资源回收.

Hadoop入门之Yarn调度MR流程_第1张图片




你可能感兴趣的:(hadoop,Hadoop从入门到精通)