Yarn中Job的执行流程

1.客户端将job提交给ResourceManager

2.ResourceManager在受到job任务之后会等待NodeManager的心跳

3.ResourceManager收到NodeManager的心跳之后会将job交给这个NodeManager,同时在这个NodeManager上开启一个ApplicationMaster,将job分配给这个ApplicationMaster

4.ApplicationMaster受到job之后进行划分,划分之后向ResourceManager请求执行资源

5.ResourceManager受到请求之后会将资源封装成Container对象发送给ApplicationMaster

6.ApplicationMaster收到Container之后会对资源进行二次分配,分配给具体的子任务,ApplicationMaster会将子任务发送给NodeManager执行,并且会监控这些任务的执行情况,每一个ApplicationMaster只监控自己的任务,不监控其他的任务

7.当子任务执行失败的时候,这个子任务所占用的资源也会被释放,ApplicationMaster在监控到这个任务失败的时候会试图重新启动这个子任务,在重启之前,Application会为这个子任务重新向ResourceManager来申请资源

你可能感兴趣的:(Hadoop,个人复习)