YARN的全称是Yat Another Resource Negotiator,是一套全新的任务调度与资源管理框架,是Hadoop2的关键组件之一。
1.提交job,申请job_id;
2.返回资源提交路径和job_id;
3.上传计算所需要的资源到指定位置;
4.创建ApplicationManager;
5.将job添加到ResourceScheduler中;
6.通知ApplicationManager有空闲NodeManager可以用来执行job;
7.在NodeManager中开辟容器,启动ApplicationMaster;
8.ApplicationMaster获取HDFS上的文件,生成Task;
9.ApplicationMaster向ResourceManager申请运行Task的任务资源;
10.ResourceManager分派Task任务,NodeManager创建用于执行Task的容器;
11.NodeManager启动通知NodeManager启动计算;
12.NodeManager启动Task计算;
13.执行后续的Task;
14.job执行完毕,ApplicationMaster向ResourceManager申请注销。