YARN 工作流程详解
YARN,全称 Yet Another Resource Negotitator ,另一种资源协调者。是大数据领域非常优秀的资源调度管理组件。 很多大数据框架将 YARN 作业自己的资源调度工具,如 Spark。
主要学习:
- 是什么
- 干什么
- 怎么干的
Yarn 从功能上来说,主要负责数据计算中的两件事情:资源管理、程序调度。主要由两个核心模块构成,即 ResourceManager、NodeManager。其中,ResourceManager是统揽全局的核心,NodeManager负责管理每个计算机节点上的资源调度。在 Yarn 进行大数据计算时,可以划分为 5 个大阶段。如下:
- 1、作业提交阶段
- 2、作业初始化阶段
- 3、任务分配阶段
- 4、任务运行阶段
- 5、作业完成阶段
作业提交阶段
在作业提交阶段,主要做了如下事情。
1、Clitnt提交 job,申请 jobid。申请资源的应用(Client),调用 job.waitForApplication()方法,向整个集群提交 Job,同时申请一个 jobId。
2、RM 返回资源提交路径和 Jobid。RM 收到 Client 的请求,返回该 job 资源的提交路径(hdfs 路径)、jobid。
3、上传计