YARN的运行流程简要步骤

1.client 向 ResourceManager 提交应用程序,其中包括启动该应用的 ApplicationMaster 的必须信息,例如 ApplicationMaster 程序、启动 ApplicationMaster 的命令、用户程序等

2.ResourceManager 启动一个 container 用于运行 ApplicationMaster。

3.启动中的 ApplicationMaster 向 ResourceManager 注册自己,启动成功后与ResourceManager 保持心跳。

4.ApplicationMaster 向 ResourceManager 发送请求,申请相应数目的 container。

5.ResourceManager 返回 ApplicationMaster 的申请的 containers 信息。申请成功的container,由 ApplicationMaster 进行初始化。container 的启动信息初始化后,ApplicationMaster 与对应的 NodeManager 通信,要求 NodeManager 启动 container。ApplicationMaster 与 NodeManager 保持心跳,从而对 NodeManager 上运行的任务进行监控和管理。

6.container 运行期间,ApplicationMaster 对 container 进行监控。container 通过 RPC协议向对应的 ApplicationMaster 汇报自己的进度和状态等信息。

7.应用运行期间,client 直接与 ApplicationMaster 通信获取应用的状态、进度更新等信息。

8.应用运行结束后,ApplicationMaster 向 ResourceManager 注销自己,并允许属于它的container 被收回。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容