千家信息网

spark02--Standalone模式两种提交任务方式是什么

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,spark02--Standalone模式两种提交任务方式是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、Standalone-
千家信息网最后更新 2025年12月02日spark02--Standalone模式两种提交任务方式是什么

spark02--Standalone模式两种提交任务方式是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

一、Standalone-client提交任务方式

提交命令

./spark-submit --master spark://xxx:7077 --class xxx.jar 或者./spark-submit --master spark://xxx:7077 --deploy-mode client --class xxx.jar

执行流程

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

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

3、资源申请成功,Driver端将task发送到worker端执行。

4、worker将task执行结果返回到Driver端。

总结

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

cluster

提交命令

./spark-submit --master spark://xxx:7077 --deploy-mode cluster --class xxx.jar

执行流程

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

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

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

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

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

总结

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

总结Standalone两种方式提交任务,Driver与集群的通信包括:

1、Driver负责应用程序资源的申请

2、 任务的分发

3、结果的回收

4、监控task执行情况

二、Yarn模式两种提交任务方式

client

提交命令

./spark-submit --master yarn --class xxx.jar 或者./spark-submit --master yarn-client --class xxx.jar 或者./spark-submit --master yarn --deploy-mode client --class xxx.jar

执行流程

  1. 客户端提交一个Application,在客户端启动一个Driver进程。

  2. 应用程序启动后会向RM(ResourceManager)发送请求,启动AM(ApplicationMaster)的资源。

  3. RM收到请求,随机选择一台NM(NodeManager)启动AM。这里的NM相当于Standalone中的Worker节点。

  4. AM启动后,会向RM请求一批container资源,用于启动Executor.

  5. RM会找到一批NM返回给AM,用于启动Executor。

  6. AM会向NM发送命令启动Executor。

  7. Executor启动后,会反向注册给Driver,Driver发送task到Executor,执行情况和结果返回给Driver端。

  • 总结

Yarn-client模式同样是适用于测试,因为Driver运行在本地,Driver会与yarn集群中的Executor进行大量的通信,会造成客户机网卡流量的大量增加.

  • ApplicationMaster的作用:

  1. 为当前的Application申请资源

  2. 给NameNode发送消息启动Executor。

注意:ApplicationMaster有launchExecutor和申请资源的功能,并没有作业调度的功能。

cluster

提交命令

./spark-submit --master yarn-cluster --class xxx.jar 或者./spark-submit --master yarn --deploy-mode cluster --class xxx.jar

执行流程

  1. 客户机提交Application应用程序,发送请求到RS(ResourceManager),请求启动AM(ApplicationMaster)。

  2. RM收到请求后随机在一台NM(NodeManager)上启动AM(相当于Driver端)。

  3. AM启动,AM发送请求到RM,请求一批container用于启动Executor。

  4. RM返回一批NM节点给AM。

  5. AM连接到NM,发送请求到NM启动Executor。

  6. Executor反向注册到AM所在的节点的Driver。Driver发送task到Executor。

  • 总结

Yarn-Cluster主要用于生产环境中,因为Driver运行在Yarn集群中某一台nodeManager中,每次提交任务的Driver所在的机器都是随机的,不会产生某一台机器网卡流量激增的现象,缺点是任务提交后不能看到日志。只能通过yarn查看日志。

ApplicationMaster的作用:

  1. 为当前的Application申请资源

  2. 给NameNode发送消息启动Excutor。

  3. 任务调度。

看完上述内容,你们掌握spark02--Standalone模式两种提交任务方式是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

任务 客户 资源 集群 模式 客户端 程序 应用程序 节点 应用 方式 命令 情况 进程 流程 流量 结果 网卡 问题 运行 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 宝可梦世界极巨化版怎么进服务器 学生参加网络安全知识竞赛图片 卫生院网络安全提出的建议 证券的数据库是同步的吗 怎么显示数据库的信息 web数据库知识大全 服务器和防火墙怎么走网线 mac远程链接服务器 软件开发roi分析 荣耀v40弹窗服务器异常请重试 我是网络安全小卫士手抄报简笔画 新乡市鼎裕网络技术 湖北省网络安全和信息会议 大学生宿舍网络安全隐患 手机优化数据库 我的世界时空之城手机版服务器 惠州数字软件开发零售价 软件开发进度管理模板 临汾电子软件开发招聘 修复cydia数据库 汇智服务器如何做raid 特色数据库建设高校 互联网信息网络安全公司 高校网络安全教育调查问卷 上海互联网软件开发专业服务 我是网络安全小卫士手抄报简笔画 网络安全手抄报模板空白 游戏服务器ip地址会隐藏吗 论文ppt要把数据库 网络安全警察定义
0