行业报告 AI展会 数据标注 标注供求
数据标注数据集
主页 > 数据挖掘 正文

Spark on Yarn的运行原理

一、YARN是集群的资源管理系统

1、ResourceManager:负责整个集群的资源管理和分配。

2、ApplicationMaster:YARN中每个Application对应一个AM进程,负责与RM协商获取资源,获取资源后告诉NodeManager为其分配并启动Container。

3、NodeManager:每个节点的资源和任务管理器,负责启动/停止Container,并监视资源使用情况。

4、Container:YARN中的抽象资源。

二、SPARK的概念

1、Driver:和ClusterManager通信,进行资源申请、任务分配并监督其运行状况等。
2、ClusterManager:这里指YARN。
3、DAGScheduler:把spark作业转换成Stage的DAG图。
4、TaskScheduler:把Task分配给具体的Executor。

三、SPARK on YARN

3.1、yarn-cluster模式下

 

 

(1)ResourceManager接到请求后在集群中选择一个NodeManager分配Container,并在Container中启动ApplicationMaster进程;

(2)在ApplicationMaster进程中初始化sparkContext;

(3)ApplicationMaster向ResourceManager申请到Container后,通知NodeManager在获得的Container中启动excutor进程;

(4)sparkContext分配Task给excutor,excutor发送运行状态给ApplicationMaster。

3.2、yarn-client模式下

 

 

(1)ResourceManager接到请求后在集群中选择一个NodeManager分配Container,并在Container中启动ApplicationMaster进程;

(2)driver进程运行在client中,并初始化sparkContext;

(3)sparkContext初始化完后与ApplicationMaster通讯,通过ApplicationMaster向ResourceManager申请Container,ApplicationMaster通知NodeManager在获得的Container中启动excutor进程;

(4)sparkContext分配Task给excutor,excutor发送运行状态给driver。

3.3、yarn-cluster与yarn-client的区别:

它们的区别就是ApplicationMaster的区别,yarn-cluster中ApplicationMaster不仅负责申请资源,并负责监控Task的运行状况,因此可以关掉client;

而yarn-client中ApplicationMaster仅负责申请资源,由client中的driver来监控调度Task的运行,因此不能关掉client。

微信公众号

声明:本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。

网友评论:

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
最新文章
SEM推广服务
热门文章
热点图文

Copyright©2005-2028 Sykv.com 可思数据 版权所有    京ICP备14056871号

关于我们   免责声明   广告合作   版权声明   联系我们   原创投稿   网站地图  

可思数据 数据标注

扫码入群
扫码关注

微信公众号

返回顶部