Apache Yarn 2.x版本资源调度流程

–>

Yarn 资源调度

1.客户端向ResourceManager发送job提交请求(请求先到ASM注册)

2.由scheduler进行调度(返回一个空闲的资源节点NodeManager)

3.由ResourceManager在该空闲节点先分配一个Container,然后由该空闲的NodeManager节点在container中启动一个MRAPPMaster

4.MRAPPMaster采用轮询的方式通过RPC协议向ResourceManager申请运行maptask和reducetask需要的资源。

5.ResourceManager向MRAPPMAster返回对应的资源节点:遵循数据本地化原则==》优先但会计算任务所在的数据块的节点(减少网络传输,从而提高性能===》主要针对的是maptask,reducetask避免不了网络传输)。

6.MRAPPMaster到对应的资源节点上分配一个container,然后再由该目标NodeManager节点在container中启动maptask任务,执行过程中,maptask会向MRAPPMaster汇报自己的运行状态和进度

7.只要有一个maptask运行完毕,MRAPPMaster就会到对应的资源节点上先分配一个container,然后开始做数据fetch工作,等全部maptask运行完毕,由该目标节点在container中启动reducetask任务,在执行过程中,maptask会向MRAPPMaster汇报自己的运行状态和进度。

9.应用程序执行完毕,MRAPPMaster就会注销自己,释放资源。

本文来源 互联网收集,文章内容系作者个人观点,不代表 本站 对观点赞同或支持。如需转载,请注明文章来源,如您发现有涉嫌抄袭侵权的内容,请联系本站核实处理。

© 版权声明

相关文章