1.client向RM提交应用程序,其中包括启动该应用的ApplicationMaster的必须信息,例如:ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。
2.ResourceManager启动一个container用于运行ApplicationMaster。
3.启动中的ApplicationMaster向ResourceManager注册自己,启动成功后与RM保持心跳。
4.ApplicationMaster向ResourceManager发送请求,申请相应数目的container。
5.申请成功的container,由ApplicationMaster进行初始化。container的启动信息初始化后,AM与对应的NodeManager通信,要求NM启动container。
6.NM启动启动container。
7.container运行期间,ApplicationMaster对container进行监控。container通过RPC协议向对应的AM汇报自己的进度和状态等信息。
8.应用运行结束后,ApplicationMaster向ResourceManager注销自己,并允许属于它的container被收回。