300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > spark中local模式与cluster模式使用场景_详细总结spark基于standalone yarn集群提交作业流程...

spark中local模式与cluster模式使用场景_详细总结spark基于standalone yarn集群提交作业流程...

时间:2023-07-13 07:22:22

相关推荐

spark中local模式与cluster模式使用场景_详细总结spark基于standalone yarn集群提交作业流程...

最近总结了一些关于spark core的内容,今天先来和大家分享一下spark的运行模式。

spark运行模式

(1)local:在本地eclipse、IDEA中写spark代码运行程序,一般用于测试

(2)standalone:spark自带的资源调度框架,支持分布式集群搭建。Spark可以运行在standalone集群上

(3)Yarn:Hadoop生态圈中的资源调度框架,spark可以基于Yarn运行

(4)Mesos: 资源调度框架 (用的比较少)

下面,来给大家总结一下spark基于standalone和yarn集群上提交作业的流程:

有两种可选的运行方式:

(1)client 一般用于测试环境

(2)cluster 用于实际生产环境

Spark基于standalone集群提交任务的流程:

1.Client模式:

1)集群启动后,worker向Master汇报资源(资源指core和内存)

2)Master掌握了集群的资源

3)客户端提交spark任务,首先在客户端启动Driver

4)客户端向Master申请资源

5)Master找到满足资源的worker节点,在worker节点上启动Excutor进程,反向注册给Driver。

6)Driver向Worker发送Task,监控task的执行,回收结果。

流程图示:

注:(1)Driver在客户端启动

(2)每个SparkApplication有独立的Driver和Excutor

(3)Driver和集群中的worker会有大量的通信,如果有很多的apllication提交,而这种client运行方式中Driver均在客户端启动,就很容易造成客户端节点的网卡流量激增问题。所以这种方式适用于程序测试环境,不适用与生产环境。

(4)在客户端可以查看task执行过程和结果,方便调错。

2.Cluster模式:

spark基于standalone集群的cluster模式的提交任务流程:

1) 集群启动后worker向Master汇报资源

2) Master掌握集群资源

3) 客户端提交sparkApplication,客户端向Master申请启动Driver。

4) Master收到请求后随机找一台节点启动Driver。

5) Driver向Master申请资源用于启动Application

6) Master找到满足资源的worker节点,启动Excutor,反向注册给Driver

7) Driver发送task到worker节点,监控task,回收结果(collect方法)

流程图示:

注:(1)先启动Driver,再启动Application

(2)Driver在随机一台worker节点上启动,当有很多的SparkApplication提交时,这些Application作业的Driver都是分布在集群中不同worker节点上的,解决了client模式中单节点网卡流量激增的问题,适用于生产环境。

(3)在客户端看不到task的执行过程以及运行结果,要在WebUI中查看

Spark基于yarn集群提交任务的流程:

1.Client模式:

流程总结:

1) NodeManager向ResourceManager汇报资源

2) ResourceManager掌握集群资源

3) 客户端提交Application,在客户端启动Driver

4) 客户端向ResourceManager申请启动ApplicationMaster。

5) ResourceManager收到请求之后随机找一台NodeManager启动ApplicationMaster

6) ApplicationMaster启动之后向ResourceManager申请资源用于启动Excutor,

7) ResourceManager收到请求后返回一批满足要求的NodeManager节点给AM

8) ApplicationMaster连接NodeManager启动Excutor

9) Excutor反向注册给Driver

10)Driver发送task给NodeManager,监控task执行,并回收结果

流程图示:

2.Cluster模式:

Spark基于Yarn的Cluster提交作业流程总结:

1) 集群启动后,NodeManager向ResourceManager汇报资源

2) ResourceManager掌握了集群资源

3) 客户端提交SparkApplication

4) 客户端向ResourceManager申请启动ApplicationMaster

5) ResourceManager随机找一台NodeManager启动ApplicationMaster(Driver)

6) ApplicationMaster向ResourceManager申请资源用于启动Excutor

7) ResourceManager返回一批满足资源的NodeManager节点给ApplicationMaster

8) ApplicationMaster在这些NodeManager上启动Excutor

9) Excutor反向注册给Driver(ApplicationMaster)

10) ApplicationMaster发送task给NodeManager,监控task执行,回收结果

流程图示:

总结:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。