MapReduce提交作业流程
其他
2019-04-15 19:10:55
阅读次数: 0
一、角色
- Client:客户端
- Yarn:负责资源管理和调度
- ResourceManager:主Manager,核心。集群节点资源管理。
- NodeManager:与MRAppMaster(下面简称MR)汇报资源信息。启动并监控集群中的计算容器。
- MRAppMaster: 负责任务切分、任务调度、任务监控和容错(启动失败后,由yarn重新启动。任务失败后,重新申请资源)等。
二、执行流程
- 客户端:计算切片,默认一个block是一个切片,也可以指定。准备jar包。准备conf(配置文件)。指定输入输出路径,指定的输出路径一定不能存在(框架自己创建)。
- 客户端向ResourceManager申请任务编号
- 客户端把第一步准备的内容上传到HDFS上(默认有10个副本数)。
- 客户端与ResourceManager通信,ResourceManager指挥NodeManager在DateNode上分配容器启动MR,MR的作用是调度计算。(图中4、5、6所示)
- MR读取HDFS上客户端上传的信息,计算map、reduce数量。
- MR计算完毕,向ResourceManager申请map()计算所需资源。
- ResourceManager指挥NodeManager在DataNode上分配map()计算所需的资源。MR会监视map()的执行进度,一旦达到阈值,MR会给Reduce()申请资源,让他对map()的输出进行计算。
- reduce()计算完毕,返回给客户端信息,任务结束。
转载自blog.csdn.net/weixin_43462670/article/details/89257444