搜索
大数据中国 首页 行业资讯 企业投稿 查看内容
Spark核心技术原理-Spark运行模式-加米谷大数据
2018-4-13 10:01 |原作者: 加米谷|来自: 加米谷大数据| 查看: 18706| 评论: 0

上一章节详细讲了Spark的运行原理,没有关注的童鞋可以关注加米谷大数据查看上一章节的详细内容。通过Spark运行原理的讲解大家了解了Spark在底层的运行,那Spark的运行模式又是什么样的呢?通过本文以下的讲解大家可以详细的学习了解。

1、Spark运行模式主要分为以下几种,如图所示。

Spark运行模式.png

2、Spark on Standalone 模式 Standalone模式如下图所示。

Standalone模式.png

3、Standalone运行过程

1)SparkContext连接到Master,向Master注册并申请资源(CPU Core and Memory);

2) uMaster根据SparkContext的资源申请要求和Worker心跳周期内报告的信息决定在哪个Worker上分配资源,然后在该Worker上获取资源,然后启动Executor; Executor向SparkContext注册;

3)SparkContext将Applicaiton代码发送给Executor;同时SparkContext解析Applicaiton代码,构建DAG图,并提交给DAGScheduler分解成Stage,然后以Stage(或者称为TaskSet)提交给TaskScheduler,TaskScheduler负责将Task分配到相应的Worker,最后提交给Executor执行;

4)Executor会建立Executor线程池,开始执行Task,并向SparkContext报告,直至Task完成;

5)所有Task完成后,SparkContext向Master注销,释放资源。如图所示。

SparkContext向Master注销.png

4、Spark on Yarn-Client 模式

1)Yarn-Client 第一步:Spark Yarn Client向Yarn的ResourceManager申请启动Application Master。同时在SparkContent初始化中将创建DAGScheduler和TASKScheduler;

2)Yarn-Client 第二步:ResourceManager收到请求后,在集群中选择一个NodeManager,为该应用程序分配第一个Container,要求它在这个Container中启动应用程序的Application Master;

3)Yarn-Client 第三步:Client中的SparkContext初始化完毕后,与ApplicationMaster建立通讯,向ResourceManager注册,根据任务信息向ResourceManager申请资源;

4)Yarn-Client 第四步:一旦ApplicationMaster申请到资源后,便与对应的NodeManager通信,要求它在获得的Container中启动Executor,启动后会向Client中的SparkContext注册并申请Task;

5)Yarn-Client 第五步:Client中的SparkContext分配Task给Executor执行,Executor运行Task并向Driver汇报运行的状态和进度,以让Client随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务;

6)Yarn-Client 第六步:应用程序运行完成后,Client的SparkContext向ResourceManager申请注销并关闭自己。如图所示。

On Yarn-Client 运行模式.png

5、Spark on Yarn-Cluster模式 1)Yarn-Cluster 第一步:Spark Yarn Client向Yarn中提交应用程序,包括ApplicationMaster程序、启动ApplicationMaster的命令、需要在Executor中运行的程序等;

2)Yarn-Cluster 第二步:ResourceManager收到请求后,在集群中选择一个NodeManager,为该应用程序分配第一个Container,要求它在这个Container中启动应用程序的ApplicationMaster,其中ApplicationMaster进行SparkContext等的初始化;

3)Yarn-Cluster 第三步:ApplicationMaster向ResourceManager注册,这样用户可以直接通过ResourceManage查看应用程序的运行状态,然后它将采用轮询的方式通过RPC协议为各个任务申请资源,并监控它们的运行状态直到运行结束;

4)Yarn-Cluster 第四步:一旦ApplicationMaster申请到资源后,便与对应的NodeManager通信,要求它在获得的Container中启动启动Executor,启动后会向ApplicationMaster中的SparkContext注册并申请Task;

5)Yarn-Cluster 第五步:ApplicationMaster中的SparkContext分配Task给Executor执行,Executor运行Task并向ApplicationMaster汇报运行的状态和进度,以让ApplicationMaster随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务;

6)Yarn-Cluster 第六步:应用程序运行完成后,ApplicationMaster向ResourceManager申请注销并关闭自己。如下图所示。

On Yarn-Cluster运行模式.png

6、几种模式对比(Yarn-Cluster VS Yarn-Client VS Standalone)

官网描述如下图所示,有兴趣的童鞋可以去Apache官网查询。

模式对比.png

成都大数据培训机构就找加米谷!加米谷大数据培训机构是一家专注于大数据人才培养的机构。由来自阿里、华为、京东、星环等国内知名企业的多位技术大牛联合创办,技术底蕴丰厚,勤奋创新,精通主流前沿大数据及人工智能相关技术。 以国家规划大数据及人工智能产业发展战略为指引,以全国大数据技术、数据分析及AI人才的培养为使命,以提升就业能力、强化职业技术为目标。面向个人提供大数据数据分析、人工智能等前沿技术的培训业务。面向行业企业提供大数据及人工智能技术内训服务、大数据及人工智能技术咨询服务、大数据及人工智能行业咨询规划服务等多项配套服务。

免责声明: 除非特别声明,文章均为投稿或网络转载,仅代表作者观点,与大数据中国网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。如果本文内容有侵犯你的权益,请发送信息至ab12-120@163.com,我们会及时删除

最新评论

关闭

站长推荐上一条 /1 下一条

大数据中国微信

QQ   

版权所有: Discuz! © 2001-2013 大数据.

GMT+8, 2024-11-26 08:51 , Processed in 0.064942 second(s), 24 queries .

返回顶部