当前位置: 首页 > java >正文

大数据Spark(六十一):Spark基于Standalone提交任务流程

文章目录

Spark基于Standalone提交任务流程

一、Standalone-Client模式

1、提交命令

2、任务执行流程

二、Standalone-Cluster模式

1、提交命令

2、任务执行流程


Spark基于Standalone提交任务流程

在Standalone模式下,Spark的任务提交根据Driver程序运行的位置不同,分为client和cluster两种模式。在这两种模式中,Driver负责应用程序的资源申请、任务分发、结果回收以及监控任务执行。以下分别介绍Client和Cluster模式。

一、Standalone-Client模式

1、提交命令

在启动Standalone集群后,可在node4节点上执行以下命令以Client模式提交任务

[root@node4 ~]# cd /software/spark-3.5.5/bin/
#第一种方式
[root@node4 bin]# ./spark-submit --master spark://node1:7077 --class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.13-3.5.5.jar 1000#第二种方式
[root@node4 bin]# ./spark-submit --master spark://node1:7077 --deploy-mode client --class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.13-3.5.5.jar 1000

以上命令中注意如下几点:

  • “--master”参数指定Applicatin的Master URL,即运行模式;“--deploy-mode”参数指定Driver程序的部署模式,可选Client/Cluster,默认为Client;“--class”参数指定Application的主类。
  • 两种提交方式的区别在于是否显式指定--deploy-mode参数,该参数默认为client模式,因此可以省略。
  • 任务提交后,可以在客户端看到“SparkSubmit”进程,该进程可以看做为Driver进程;在Standalone集群Worker节点可以看到“CoarseGrainedExecutorBackend”进程,该进程为Executor进程,负责执行Task。

2、任务执行流程

Standalone Client模式提交任务流程如下图所示:

 

  1. Standalone集群启动后,Worker向Master汇报资源,Master掌握集群资源。

  2. 客户端使用spark-sumbmit提交任务,Driver在客户端启动。

  3. Driver向Master申请启动Application所需的资源。

  4. Master收到请求之后会在相应的Worker节点上启动Executor进程。

  5. Executor启动后,向Driver注册,Driver掌握一批计算资源。

  6. Driver将task分发到Executor执行,Executor将task执行结果返回给Driver。

总结:在Standalone-Client模式中,Driver进程在提交Application的客户端节点上启动,客户端可以查看任务的执行情况和结果。此模式适用于测试环境,不建议用于生产环境。原因在于,当客户端提交大量Application时,所有Driver都在客户端启动,Driver与集群之间存在大量通信,可能导致客户端网络流量激增。

二、Standalone-Cluster模式

1、提交命令

在启动Standalone集群后,可在node4节点上执行以下命令以Cluster模式提交任务:

[root@node4 ~]# cd /software/spark-3.5.5/bin/
[root@node4 bin]# ./spark-submit --master spark://node1:7077 --deploy-mode cluster --class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.13-3.5.5.jar 1000

需要注意:

  • “--master”参数指定Application的Master URL,即运行模式;“--deploy-mode”参数指定Driver程序的部署模式,可选Client或Cluster,默认为Client;“--class”参数指定Application的主类。
  • 任务提交后,可以在Worker节点上看到“DriverWrapper”(Driver进程)和“CoarseGrainedExecutorBackend”(Executor进程)。
  • 在Standalone-Cluster模式下,任务提交后,客户端无法直接查看任务结果,需要通过Web UI查看Driver的日志以获取结果。

2、任务执行流程

Standalone Cluster模式提交任务流程如下图所示:

  1. Standalone集群启动,Worker向Master汇报资源,Master掌握集群资源状况。

  2. 客户端使用 spark-submit 提交应用程序后,向 Master 请求启动 Driver。

  3. Master 接受请求,在集群中的某个 Worker 节点上启动 Driver 进程。

  4. Driver 启动后,向Master申请启动Application所需的资源。

  5. Master收到请求之后,在相应的Worker节点上启动Executor进程。

  6. Executor启动后,向Driver注册,Driver掌握一批计算资源。

  7. Driver将task分发到Executor执行,Executor将task执行结果返回给Driver。

总结:在Standalone-Cluster模式中,Driver进程在集群的某个Worker节点上启动,客户端无法直接查看任务的执行结果,需要通过集群的Web UI查看日志获取结果。此模式适用于生产环境,因为每个Application的Driver会随机在集群中的某个Worker上启动,避免了Client模式下客户端网络流量激增的问题。


  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨
http://www.xdnf.cn/news/11804.html

相关文章:

  • WPF开发分页控件:实现可定制化分页功能及实现原理解析
  • 弹出层blockui插件主要使用blockUI和unblockUI两个方法来控制弹出层的显示或者隐藏
  • 【022】Vue+Springboot+mysql汽车销售系统课设(含源码、数据库、运行教程、实验报告)
  • 无处不在的开源 五十个开源存储软件
  • 奇迹MU开服服务端租用服务器架设搭建
  • 口袋参谋:一键查询任意买家旺旺号,规避被降权风险!
  • 【知识拓展】字符编码 {Unicode和GBK字符编码方案;UTF-8,UTF-16,UTF-32存储方案;char,wchar_t,char8_t,char16_t,char32_t字符类型}
  • 常见工具识别集锦---Windows应急响应工具
  • 标准中文电码简介
  • Python高阶函数extract + extractall详解与实例
  • 八种用Python实现定时执行任务的方案,一定有你用得到的!
  • 用基用js在VS code上面实现获取百度搜索页面源代码的html部分
  • SpeedTree:树模型制作软件的下载与安装
  • akb48_AKB48最值得听的十大单曲
  • 盘点世界十大著名黑客攻击事件
  • 对症下药 硬盘坏道检测与修复全攻略(组图)
  • 属蛇的2020年运势_第一运程 属蛇人2020年每月运势
  • 【开源工程】VirtualDub
  • 数商云汽车经销商管理系统解决方案:汽车零售系统活动、呼叫、数字化营销管理工具
  • VBS病毒(爱虫病毒) 源代码
  • CCF ChinaSoft 2023 论坛巡礼 | 优秀博士生论坛
  • ubuntu常用软件介绍及安装
  • CSS中正确理解clear:both
  • 出现Could not allocate CursorWindow of size due to error -12.错误的解决方案
  • 【转帖】windows 服务大全
  • 软件外包公司到底干啥的?要不要去外包公司?
  • Dream Aquarium 1.240 汉化增强版
  • 电脑k歌,电脑K歌软件有哪些 5款热门K软件推荐
  • vb.net 教程 5-19 拓展:制作一个QQ大家来找茬和美女找茬辅助工具
  • Mac提升工作效率从Alfred神器开始(上)