Yarn架构设计


说明:

(1)Client向ResourceManager提交应用程序,其中包含了ApplicationMaster主程序和启动命令

(2)ApplicationsManager会为应用程序在NodeManager上分配第一个容器,用来运行Application Master

(3)Application Master起来后 要向ApplicationsManager进行注册

(4)Application Master采取轮询的方式 通过RPC请求向ResourceScheduler申请资源 ResourceScheduler返回一个资源列表(那台NodeManager上,多少CPU核 多少内存)

(5)Application Master拿到资源列表后,与对应的NodeManager进行通信,要求启动相应的Task

(6)NodeManager为Task设置相应的环境(即容器,包括CPU和内存等资源),并准备好Task运行所需的jar包,然后将Task启动的命令写在一个脚本中,通过脚本启动Task

(7)各个Task会通过RPC协议向Application Master汇报任务的进度,以便让Application Master掌握Task的运行状态,如果Task运行失败,还需要重试Task

(8)当所有的Task运行完成后,Application Master向 ApplicationsManager申请注销和关闭作业

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