Spark的三种提交模式

目录

 

一:模式分类

二:模式适合情景

三:图形化流程


一:模式分类

1.standalone:Master-Worker集群  —— 见博文:《 SparkContext内核架构深度剖析》

2.yarn-cluster:(cluster:英 ['klʌstə]  n. 群;丛)
spark-submit ———》 ResourceManager ————》 NodeManager上去启动 ApplicationMaster(Driver)————》NodeManager上去启动Executor——》在反向注册到Application上

3.yarn-client:(client:英 ['klaɪənt]   n. 客户端)
spark-submit ———》 ResourceManager ————》 NodeManager上去启动 ApplicationMaster(ExecutorLanucher)————》NodeManager上去启动Executor——》在回到本地的 Driver 上去统一注册,统一管理

4.方式:
spark-submit脚本,加上--master属性,填写 (yarn-cluster/yarn-client)
默认为:standalone

5.yarn 模式儿与Spark默认模式儿对比:
类比关系:
ResourceManager—— Master
NodeManager——Worker

 

二:模式适合情景

1.Spark-standalone:
                单独的Spark集群,不依托于Hadoop的Yarn进行资源分配,则可以使用它自带的
                
2.yarn-cluster:
更适合于实际生产,由ResourceManager进行调度,将Driver布置在多个NodeManager节点上,不用担心流量激增问题。
但是不方便调试:需要使用 yarn application, logs application_id 的命令来查看

3.yarn-client:
更适合于测试,Driver运行在本地客户端,负责调度 application。会产生“网卡流量”问题。
所以本地可以看到所有的log,方便调试

4.网卡流量问题:
Driver需要负责大量的Task任务调度,然后分发到Worker节点上运行。
分发的过程,就涉及网络的传输!当任务量过大时,网卡流量过高,会导致机器上的其它应用无法正常运行!

 

三:图形化流程

Spark的三种提交模式