Spark---基于Standalone模式提交任务

Standalone模式两种提交任务方式

一、Standalone-client提交任务方式

1**、提交命令**

复制代码
./spark-submit --master spark://mynode1:7077  
--class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.3.1.jar 100

或者

复制代码
./spark-submit --master spark://mynode1:7077 
--deploy-mode client  
--class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.3.1.jar 100

2、执行原理图解

**1)、**执行流程

1、client模式提交任务后,会在客户端启动Driver进程。

2、Driver会向Master申请启动Application启动的资源

3、Master收到请求之后会在对应的Worker节点上启动Executor

4、Executor启动之后,会注册给Driver端,Driver掌握一批计算资源

5、Driver端将task发送到worker端执行。worker将task执行结果返回到Driver端。

2)、总结

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

二、Standalone-cluster提交任务方式

1、提交命令

复制代码
./spark-submit --master spark://mynode1:7077 
--deploy-mode cluster
--class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.3.1.jar 100

2、执行原理图解

1)、执行流程

1、cluster模式提交应用程序后,会向Master请求启动Driver

2、Master接受请求,随机在集群一台节点启动Driver进程

3、Driver启动后为当前的应用程序申请资源

4、Driver端发送task到worker节点上执行

5、worker将执行情况和执行结果返回给Driver端

2)、总结

Driver进程是在集群某一台Worker上启动的,在客户端是无法查看task的执行情况的。假设要提交100个application到集群运行,每次Driver会随机在集群中某一台Worker上启动,那么这100次网卡流量暴增的问题就散布在集群上。

  • 总结Standalone两种方式提交任务,Driver与集群的通信包括:
  1. Driver负责应用程序资源的申请

  2. 任务的分发。

  3. 结果的回收。

  4. 监控task执行情况。

相关推荐
wudl55664 小时前
Flink 1.20 flink-config.yml 配置详解
大数据·flink
华东数交4 小时前
企业与国有数据资产:入表全流程管理及资产化闭环理论解析
大数据·人工智能
B站_计算机毕业设计之家10 小时前
计算机毕业设计:Python农业数据可视化分析系统 气象数据 农业生产 粮食数据 播种数据 爬虫 Django框架 天气数据 降水量(源码+文档)✅
大数据·爬虫·python·机器学习·信息可视化·课程设计·农业
大数据0010 小时前
CLICKHOUSE分布式表初体验
分布式·clickhouse
失散1310 小时前
分布式专题——43 ElasticSearch概述
java·分布式·elasticsearch·架构
Apache Flink12 小时前
Flink Agents 0.1.0 发布公告
大数据·flink
潘达斯奈基~13 小时前
在使用spark的applyInPandas方法过程中,遇到类型冲突问题如何解决
大数据·笔记
爬山算法14 小时前
Redis(66)Redis如何实现分布式锁?
数据库·redis·分布式
火星资讯14 小时前
腾多多数字零售模式:从成本转嫁到全生态共赢的破局实践
大数据
望获linux15 小时前
【实时Linux实战系列】实时 Linux 的自动化基准测试框架
java·大数据·linux·运维·网络·elasticsearch·搜索引擎