spark提交任务流程

spark提交代码的两种方式:Standalone、Yarn

独立部署(Standalone)模式由spark自身提供计算资源,无需其他框架提供资源。这种方式降低了和其他第三方资源框架的耦合性,独立性非常强。但spark主要是计算框架,不是资源调度框架,所以本身提供的资源调度并不是它的强项,所以还是和其他专业的资源调度框架集成会更靠谱一些。

Standalone

1、standalone-client提交任务方式

--master spark://node1:7077

--deploy-mode client

总结:

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

2、standalone-cluster提交任务方式

--master spark://node1:7077

--deploy-mode cluster

总结:

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

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

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

任务的分发。

结果的回收。

监控task执行情况。

Spark on Yarn

Client模式:

  1. 用户在本地客户端机器上通过spark-submit命令提交Spark任务。

  2. 在提交命令中,用户指定YARN为集群管理器,并设置模式为Client模式。

  3. spark-submit将用户的应用程序打包,并将依赖、配置文件和资源上传到HDFS。

  4. Driver程序在客户端机器上启动,然后向YARN ResourceManager发送启动ApplicationMaster的请求。

  5. ResourceManager根据请求启动一个ApplicationMaster实例,同时为其分配一个容器。

  6. ApplicationMaster向ResourceManager申请计算资源,以便启动Executor。

  7. ResourceManager为Executor分配资源,并在各个节点上启动Executor容器。

  8. Driver程序将Spark应用程序的任务划分为多个TaskSet,然后将这些任务分发给已启动的Executor。

  9. Executor开始执行任务,处理数据,并根据需要与其他Executor之间进行数据交换(Shuffle)。

  10. 在任务执行期间,Driver程序会实时监控任务进度和状态。

  11. 当所有任务完成后,Driver程序会收集和处理任务执行结果,并输出结果。

  12. 最后,Driver程序会通知ApplicationMaster关闭,并释放Executor和其他资源。

Cluster模式:

  1. 用户在本地客户端机器上通过spark-submit命令提交Spark任务。

  2. 在提交命令中,用户指定YARN为集群管理器,并设置模式为Cluster模式。

  3. spark-submit将用户的应用程序打包,并将依赖、配置文件和资源上传到HDFS。

  4. Driver程序将在ApplicationMaster中运行。向YARN ResourceManager发送启动ApplicationMaster的请求。

  5. ResourceManager根据请求启动一个ApplicationMaster实例,同时为其分配一个容器。

  6. ApplicationMaster(同时包含Driver程序)启动后,向ResourceManager申请计算资源,以便启动Executor。

  7. ResourceManager为Executor分配资源,并在各个节点上启动Executor容器。

  8. Driver程序将Spark应用程序的任务划分为多个TaskSet,然后将这些任务分发给已启动的Executor。

  9. Executor开始执行任务,处理数据,并根据需要与其他Executor之间进行数据交换(Shuffle)。

  10. 在任务执行期间,Driver程序会实时监控任务进度和状态。

  11. 当所有任务完成后,Driver程序会收集和处理任务执行结果,并输出结果。

  12. 最后,Driver程序会通知ApplicationMaster关闭,并释放Executor和其他资源。

总结:两种模式的主要区别在于Driver程序运行的位置。在Client模式下,Driver程序运行在提交任务的客户端机器上。在Cluster模式下,Driver程序运行在ApplicationMaster中。其他执行步骤基本相同。

"cluster模式"和"client模式"主要指的是运行Spark应用程序时,Driver程序所在的位置不同。以下是它们之间的主要区别:

Driver程序位置:

Cluster模式:Driver程序在集群中运行,通常由集群管理器(如YARN、Mesos或Standalone)启动。在YARN中,Driver程序会运行在一个由ApplicationMaster管理的容器中。

Client模式:Driver程序在提交Spark任务的客户端机器上运行。这意味着客户端机器需要保持在线,直到Spark应用程序完成。

任务监控:

Cluster模式:由于Driver程序在集群中运行,任务的监控和管理可以在集群内完成,与提交任务的客户端机器无关。即使客户端机器断开连接,应用程序也会继续运行。

Client模式:在此模式下,Driver程序在客户端机器上运行,因此任务的监控和管理需要在客户端机器上进行。如果客户端机器不可用,那么整个应用程序可能受到影响。

资源分配和管理:

Cluster模式:集群管理器负责为Driver程序和Executor分配资源。这意味着整个应用程序的资源使用情况都由集群管理器控制,可以更好地进行资源调度和管理。

Client模式:Driver程序在客户端机器上运行,而Executor仍然由集群管理器分配资源。这可能导致资源分配和管理不够集中,影响整个应用程序的性能。

日志和调试:

Cluster模式:Driver程序和Executor的日志都存储在集群中,可以通过集群管理器的监控界面查看。这使得日志分析和故障排查变得更加集中化。

Client模式:Driver程序的日志在客户端机器上生成,而Executor的日志仍然存储在集群中。这可能使日志分析和故障排查变得更加分散。

总之,在选择cluster模式还是client模式时,需要根据具体的应用场景和需求进行权衡。Cluster模式更适合于生产环境,因为它可以更好地管理资源、监控任务并集中处理日志。而Client模式则适用于开发和调试阶段,因为它能够更方便地查看Driver程序的输出和日志。

停止集群任务命令:yarn application -kill applicationID

liuhanyuu
关注 关注
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
spark任务提交流程
gggSam的博客
08-19 300
spark任务提交流程(yarn) spark一般都是部署到yarn上使用的,所以就说y问的最多的就是arn的提交流程,两种模式最大的区别就是driver端的执行位置 Yarn Client模式 第一步,Driver端在任务提交的本地机上运行 第二步,Driver启动之后就会和ResourceManager通讯,申请启动一个ApplicationMaster 第三步,ResourceManager就会分配container容器,在合适的nodemanager上启动ApplicationM.
Spark 提交任务流程
hmyqwe的博客
09-01 545
Spark 应用程序提交到 Yarn 环境中执行的时候,一般会有两种部署执行的方式:Client 和 Cluster。 两种模式主要区别在于:Driver 程序的运行节点位置。 Yarn Cluster 模式:Cluster 模式将用于监控和调度的 Driver 模块启动在 Yarn 集群资源中执行,一般用于实际生产环境。 (1)任务提交后 Client 会和 ResourceManager 通讯申请启动 ApplicationMaster; (2)ResourceManage r分配 Container
Spark 任务提交流程说明
Small_Ran的博客
07-02 5597
本篇主要阐述 Spark 任务提交流程,其主要目的在于通过了解 Spark 任务提交可以清楚大概的流程,并知道每一步是做什么;当遇到问题可以快速的知道是什么环节或者哪一步骤出现了问题,及时定位到问题并解决。目前Spark官方支持五中集群管理模式,分别是 Standalone、Yarn、Mesoes、Kubernetes、Amazon EC2 等。本篇文章主要阐述笔者平时经常使用的 Standalone 与 Yarn 集群管理模式。..................
Spark作业提交
最新发布
jpfx6008的博客
08-11 479
角色作用Master管理集群和节点,不参与计算。Driver一个Spark作业运行时包括一个Driver进程,也是作业的主进程,具有main函数,并且有SparkContext的实例,是程序的入口点。负责向集群申请资源,向master注册信息,负责了作业的调度,负责作业的解析、生成Stage并调度Task到Executor上。包括DAGScheduler,TaskScheduler。Woker主要功能:管理当前节点内存,CPU的使用状况,
Spark任务提交流程
HanJuly9569的博客
03-08 871
Spark提交任务流程 总体概况: 1.在提交脚本中配置需要的资源(粗颗粒分配),向ResourceManager提交app 2.RM启动一个NM来启动ApplicationMaster,driver运行在此机器上,并创建了DAGScheduler,TaskScheduler. 3.AM向RM请求资源的,AM然后在对应的NM启动Excutor 4.Excutor初始化线程池并向driver注册,为driver监控做准备 5.Driver开始执行用户写的代码,遇到action时产出一个job 6.DAG 根
Spark学习笔记之(二):Spark 提交任务流程任务生成
u010737756的博客
07-02 929
Spark 提交 job 流程1.Spark 提交 job 流程2.提交脚本中的参数解析2.1 -jar 什么意思3.Excutor 怎么获取 task 1.Spark 提交 job 流程 2.提交脚本中的参数解析 2.1 -jar 什么意思 3.Excutor 怎么获取 task
spark提交任务流程是什么
02-09
Spark提交任务流程包括:1.创建Spark应用程序;2.使用SparkContext提交应用程序;3.使用SparkConf配置Spark应用程序;4.提交应用程序到集群;5.等待应用程序完成。
Spark
小道的博客
12-10 3674
Spark知识点
原创 | 8 张彩图讲解 Spark 任务提交流程
a934079371的博客
02-20 440
点击上方 "大数据肌肉猿"关注,星标一起成长后台回复【加群】,进入高质量学习交流群2021年大数据肌肉猿公众号奖励制度看本文之前需要先了解 Spark 的基本角色,因为本...
Spark系列文章一:Spark 提交任务流程详解
myc1234567的博客
10-18 8203
一、spark提交任务流程概述 1.1、流程概述 1、构建spark执行环境(初始化sparkcont); 2、SparkContext向资源管理器注册并申请Executor资源; 3、资源管理器分配Executor资源,Executor向资源管理器发送心跳汇报状态; 4、Executor向sc注册并申请task; 5、sc向Executor发送task,Executor执行task; 6、运行完成后,sc向资源管理器申请注销资源。 1.2、流程图解(多图) 二、spark...
spark面试题—standalone模式下的提交流程
epitomizelu的专栏
07-15 416
spark-submit 提交代码,执行 new SparkContext(),在 SparkContext 里构造 DAGScheduler 和 TaskScheduler。 TaskScheduler 会通过后台的一个进程,连接 Master,向 Master 注册 Application。 ( Master 接收到 Application 请求后,会使用相应的资源调度算法,在 Worker 上为这个 Application 启动多个 Executor (Executor 启动后,会自己反向注册到 T.
spark提交任务流程
流的博客
02-15 736
1.spark任务提交阶段划分 spark提交任务分为五个状态,五个状态之间的有四个转换过程: (1)根据代码中的Transformations确定RDD。 (2)根据RDD确定RDD的类型和它们之间的血统关系,生成一个DAG。 (3)将DAG提交给DAGScheduler来划分出不同的task,以及task执行顺序和依赖关系。 (4)TaskScheduler调度任务,采用集群中配置的调度方式...
Spark学习之路 (七)Spark 运行流程
weixin_33901843的博客
04-25 229
一、Spark中的基本概念 (1)Application:表示你的应用程序 (2)Driver:表示main()函数,创建SparkContext。由SparkContext负责与ClusterManager通信,进行资源的申请,任务的分配和监控等。程序执行完毕后关闭SparkContext (3)Executor:某个Application运行在Worker节点上的一个进程,该进程负责运行...
Spark任务提交流程
下山化缘的DJ
07-16 433
Spark任务提交流程 (1)、首先将程序打成 jar 包 (2)、使用spark-submit 脚本提交任务到集群上运行 (3)、运行 sparkSubmit 的 main 方法,在这个方法中通过反射的方式创建我们编写的主类的实例对象,然后调用 main 方法,开始执行我们的代码(注意,我们的 spark 程序中的 driver就运行在 sparkSubmit 进程中) (4)、当代码运行到创建 SparkContext 对象时,那就开始初始化 SparkContext 对象了 (5)、在初始化 Spa
spark任务提交流程
zdryn的博客
04-04 627
spark任务提交流程 1、编写程序打成jar包 2、调用spark-submit脚本提交任务到集群上运行 3、发送请求到ResourceManager,请求启动applicationMaster 4、RS接收到请求后在集群上选择一个合适的NameNode节点,启动ApplicationMater 5、运行spark-submit的main方法,通过反射的方式创建主类的实例对象,然后调用main方法,开始执行代码 6、代码创建sparkcontext对象并对其初始化,同时创建DAGScheduler(将rd
写文章

分类专栏

  • socket

最新评论

  • Spark中driver、executor、master、worker的关系

    CSDN-Ada助手: 推荐 Java 技能树:https://edu.csdn.net/skill/java?utm_source=AI_act_java

最新文章

  • JVM内存结构
  • nginx转发实现过程中的问题总结
  • CAP理论与ZooKeeper
2023年13篇
2018年4篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家商场美陈图片6广东装饰商场美陈售价池州景区玻璃钢雕塑定制龙泉玻璃钢关公雕塑浙江商场美陈供应玻璃钢雕塑甜瓜图片泉州做玻璃钢雕塑拱墅区玻璃钢金属雕塑私人定做云浮玻璃钢人物雕塑公司鹤壁校园玻璃钢雕塑安顺商场美陈布展玻璃钢蘑菇雕塑定制哪家加工玻璃钢雕塑大理市玻璃钢雕塑报价芒市玻璃钢雕塑生产厂家南通玻璃钢花盆制作玻璃钢狼人雕塑哪家好海南玻璃钢雕塑设计及定制发光玻璃钢雕塑怎么做福建玻璃钢花盆研发公司门头玻璃钢雕塑工程中式玻璃钢雕塑永州市玻璃钢雕塑定制周年商场美陈采购大理玻璃钢雕塑供应商蜘蛛侠玻璃钢雕塑铸造玻璃钢卡通雕塑小品云南佛像玻璃钢雕塑图片上海美陈最多的商场晋城玻璃钢雕塑制作厂家香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化