Yarn运行流程
1)yarn客户端向resourcemanager请求运行MR程序
2)RM检查是否具有执行的权限,有则返回job_id和提交资源的路径
3)RM将该应用程序的资源路径返回给客户端
4)该程序将资源提交(job.submit())到HDFS上(/tmp/hadoop-yarn/job_id)(jar包,逻辑规划切片,配置信息)
5)向RM申请资源运行MRAppMaster
6)RM根据请求结合namenode汇报信息,找出可用资源机器位置(资源调度Scheduler)
7)客户端根据信息到指定的NM上,该NM创建容器Container,并产生MRAppMaster
8)MRAppMaster启动成功向RM汇报并且注册自己
9)Container从HDFS上拷贝资源到本地,MRAppMaster根据切片信息申请对应数量的容器运行MapTask
10)MRAppMaster向RM申请运行MapTask资源
11)RM找出可用的资源位置
12)MRAppMaster到指定位置机器启动MapTask并监督其执行情况
13)MRAppMaster等待所有MapTask运行完毕,向RM申请容器,运行ReduceTask
14)ReduceTask向MapTask获取相应分区的数据
15)程序运行完毕后,MRAppMaster会向RM申请注销自己