MapReduce提交作业流程

一、角色

  1. Client:客户端
  2. Yarn:负责资源管理和调度
  3. ResourceManager:主Manager,核心。集群节点资源管理。
  4. NodeManager:与MRAppMaster(下面简称MR)汇报资源信息。启动并监控集群中的计算容器。
  5. MRAppMaster: 负责任务切分、任务调度、任务监控和容错(启动失败后,由yarn重新启动。任务失败后,重新申请资源)等。

二、执行流程

在这里插入图片描述

  1. 客户端:计算切片,默认一个block是一个切片,也可以指定。准备jar包。准备conf(配置文件)。指定输入输出路径,指定的输出路径一定不能存在(框架自己创建)。
  2. 客户端向ResourceManager申请任务编号
  3. 客户端把第一步准备的内容上传到HDFS上(默认有10个副本数)。
  4. 客户端与ResourceManager通信,ResourceManager指挥NodeManager在DateNode上分配容器启动MR,MR的作用是调度计算。(图中4、5、6所示)
  5. MR读取HDFS上客户端上传的信息,计算map、reduce数量。
  6. MR计算完毕,向ResourceManager申请map()计算所需资源。
  7. ResourceManager指挥NodeManager在DataNode上分配map()计算所需的资源。MR会监视map()的执行进度,一旦达到阈值,MR会给Reduce()申请资源,让他对map()的输出进行计算。
  8. reduce()计算完毕,返回给客户端信息,任务结束。

猜你喜欢

转载自blog.csdn.net/weixin_43462670/article/details/89257444