MapReduce工作流程、Yarn工作机制

一、MapReduce工作流程

MapReduce工作流程、Yarn工作机制_第1张图片

 

 

二、yarn的工作机制

MapReduce工作流程、Yarn工作机制_第2张图片

0、MapReduce程序提交的客户端所在的节点上。

1、客户端向ResourceManager申请一个Application。

2、ResourceManager 返回一个Application资源提交的HDFS路径和Application_id。

3、客户端将运行job的资源(job.xml、job.split、wordcount.jar) 提交到对应的HDFS路径上。

4、客户端通知ResourceManager资源提交完毕,申请运行MRAppMaster。

5、ResourceMange将用户的请求初始化为一个task,这个task进入任务调度队列中等待分配资源。

6、ResourceManager将队列中的task分配给一个空闲的NodeManager。

7、这个领到task的NodeManager开始创建Container容器,并产生MRAppMaster。

8、该Container到HDFS上拷贝资源到本地。

9、MRAppMaster向ResourceManager申请运行map task的容器。

10、ResourceManager将map task分配给其他空闲的NodeManager,然后NodeManager领到map task后创建Container容器。

11、MRAppMaster向领到map task的节点发送启动脚本,这两个NodeManager分别启动map task。

12、MRAppMaster等待所有的map task执行完后,向ResourceManager申请运行Reduce task的容器。

13、ResourceManager 分配NodeManager运行Reduce task 并创建Container容器。

14、reduce task 获取map task上对应的分区数据进行操作。

15、MRAppMaster 等待所有的任务执行完后,向ResourceManager申请注销自己。

你可能感兴趣的:(大数据,hadoop)