1)执行hadoop jar命令之后,生成RunJar进程,客户端向RM申请一个job。
2)RM向客户端发送job资源的提交路径,生成jobID。
3)客户端提交相关资源(jar,xml)到共享文件系统(HDFS)
4)客户端向RM汇报提交结果
5)RM将job放入任务队列,等待空闲的NM获取job
6)NM通过与RM心跳连接,从任务队列中获取job
7)RM为NM分配任务运行的容器资源
8)RM在容器中启动MRAppMaster
9)MRAppMaster分配在那些NM上运行map(即yarnchild进程),reduce任务。
10)运行map和reduce任务的NM,向资源共享文件系统获取job相关资源。
11)运行map,reduce任务。
12)job任务结束后,MRAppmaster向RM注销自己,然RM回收资源。