Spark中Standalone的两种提交模式(Standalone-client模式与Standalone-cluster模式)

Spark中Standalone有两种提交模式,一个是Standalone-client模式,一个是Standalone-cluster模式。

1.Standalone-client提交任务方式

提交命令

./spark-submit --master  spark://node01:7077 --class org.apache.spark.examples.SparkPi  ../lib/spark-examples-1.6.
0-hadoop2.6.0.jar 100
./spark-submit --master  spark://node01:7077 --deploy-mode client --class org.apache.spark.examples.SparkPi  ../li
b/spark-examples-1.6.0-hadoop2.6.0.jar 100
  •  

解释:–class org.apache.spark.examples.SparkPi main函数

../lib/spark-examples-1.6.0-hadoop2.6.0.jar    jar包    100     main函数需要参数
  • 1

执行原理图解 
这里写图片描述

执行流程

  • 1.client模式提交任务后,会在客户端启动Driver进程。
  • 2.Driver会向Master申请启动Application启动的资源。
  • 3.资源申请成功,Driver端将task发送到worker端执行。
  • 4.worker将task执行结果返回到Driver端。

总结 
- 1.client模式适用于测试调试程序。Driver进程是在客户端启动的,这里的客户端就是指提交应用程序的当前节点。在Driver端可以看到task执行的情况。生产环境下不能使用client模式,是因为:假设要提交100个application到集群运行,Driver每次都会在client端启动,那么就会导致客户端100次网卡流量暴增的问题。(因为要监控task的运行情况,会占用很多端口,如上图的结果图)客户端网卡通信,都被task监控信息占用。

  • 2.Client端作用 
    Driver负责应用程序资源的申请 
    任务的分发。 
    结果的回收。 
    监控task执行情况。

2.Standalone-cluster提交任务方式

提交命令

./spark-submit  --master spark://node01:7077  --deploy-mode cluster --class org.apache.spark.examples.SparkPi  ../lib/spark-examples-1.6.0-hadoop2.6.0.jar  100
  • 1

这里写图片描述
执行原理图解 
这里写图片描述

执行流程 
- 1.cluster模式提交应用程序后,会向Master请求启动Driver.(而不是启动application) 
- 2.Master接受请求,随机在集群一台节点启动Driver进程。 
- 3.Driver启动后为当前的应用程序申请资源。Master返回资源,并在对应的worker节点上发送消息启动Worker中的executor进程。 
- 4.Driver端发送task到worker节点上执行。 
- 5.worker将执行情况和执行结果返回给Driver端。Driver监控task任务,并回收结果。

总结 
- 1.当在客户端提交多个application时,Driver会在Woker节点上随机启动,这种模式会将单节点的网卡流量激增问题分散到集群中。在客户端看不到task执行情况和结果。要去webui中看。 
- 2.cluster模式适用于生产环境 
- 3.Master模式先启动Driver,再启动Application。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值