Mapreduce在YARN上的过程概述
首先我们对整个mpred的过程有个初步的理解。
首先,我们在客户节点上提交mapred程序,也就是向资源管理器提交作业。
其次,资源管理器对任务进行初始化和分配。
分配任务之后,任务开始在特定节点上的制定容器执行,并向MRapplicationManager更新进度。
最后,application master收到作业完成的或者是薄的通知,并通知客户端。清理容器和工作状态之后,整个作业完成。
其中提到的一些概念,比如application master,我们会在下面提及。
Hadoop提供一个Job类管理和配置各个过程。
我们按照上面的过程划分,分开来谈。
part0 顶层应用
在整个过程中,有 5 个主要的独立实体
- 客户端:提交mapred作业
- YARN 资源管理器
- YARN 节点管理器
- MapReduce的 application master ,这个实体负责协调各个任务的运行,他在由节点管理器管理的节点中运行。
- 分布式文件系统,也就是HDFS,负责共享文件
part1 初始化阶段
1.提交作业:
我们通过 Job 对象向资源管理器提交申请,提交过程如下
- 向资源管理器申请新的 ID,也就是图上的步骤2
- 检查作业的输出说明,如果没有指定或者该目录已经存在就返回错误。
- 检查输入分片
- 将所需资源( JAR 文件,配置文件,计算过程中的输入分片)复制到以改任务I