首先client向ResourceManager提交程序(包含ApplicationMaster程序,ApplicationMaster启动命令,用户程序)后,ResourceManager向资源调度器去申请资源,一旦申请的ApplicationMaster需要的资源,ApplicationMasterLaucher便与对应的NodeManager联系启动ApplicationMaster,同时向ApplicationMasterLivenessMonitor添加进监控列表,启动对ApplicationMaster的监控,ApplicationMaster启动后,向ApplicationMasterService注册报告自己的端口号,ip,track url等,之后ApplicationMaster会定期向ApplicationMasterService发送心跳,执行allocate,ApplicationMasterService会向ApplicationMasterLivenessMonitor更新ApplicationMaster的心跳时间,当用户程序执行完毕,ApplicationMaster向ApplicationMasterService报告完成,ApplicationMasterService通知ApplicationMasterLivenessMonitor从监控列表中删除ApplicationMaster,释放资源。