Yarn运行原理:
- client 向 ResourceManager 提交应用程序,其中包括启动该应用的 ApplicationMaster 的必须信息,例如 ApplicationMaster 程序、启动 ApplicationMaster 的命令、用户程序等。
- ResourceManager 启动一个 container 用于运行 ApplicationMaster。
- 启动中的 ApplicationMaster 向 ResourceManager 注册自己,启动成功后与 ResourceManager 保持心跳。
- ApplicationMaster 向 ResourceManager 发送请求,申请相应数目的 container。
- ResourceManager 返回 ApplicationMaster 的申请的 containers 信息。申请成功的 container,由 ApplicationMaster 进行初始化。container 的启动信息初始化后,ApplicationMaster 与对应的 NodeManager 通信,要求 NodeManager 启动 container。ApplicationMaster 与 NodeManager 保持心跳,从而对 NodeManager 上运行的任务进行监控和管理。
- container 运行期间,ApplicationMa