spark任务的提交流程(yarn)

spark任务的提交流程(yarn),第1张

spark一般都是部署到yarn上使用的,所以就说y问的最多的就是arn的提交流程,两种模式最大的区别就是driver端的执行位置.

Yarn Client 模式

第一步,Driver端在任务提交的本地机上运行

第二步,Driver启动之后就会和ResourceManager通讯,山慎仔申请启动一个ApplicationMaster

第逗汪三步,ResourceManager就会分配container容器,在合适的nodemanager上启动ApplicationMaster,负责向ResourceManager申请Executor内存

第四步,ResourceManager接到ApplicationMaster的资源申请后会分配container,然后ApplicationMaster在资源分配指定的NodeManager上启动孝缺Executor进程

第五步,Executor进程启动后会向Driver反向注册,Executor全部注册完成后Driver开始执行main函数

第六步,之后执行到Action算子时,触发一个Job,并根据宽依赖开始划分stage,每个stage生成对应的TaskSet,之后将task分发到各个Executor上执行。

Yarn Cluster 模式

第一步,在YARN Cluster模式下,任务提交后会和ResourceManager通讯申请启动ApplicationMaster

第二步, 随后ResourceManager分配container,在合适的NodeManager上启动ApplicationMaster,此时的ApplicationMaster就是Driver。

第三步, Driver启动后向ResourceManager申请Executor内存,ResourceManager接到ApplicationMaster的资源申请后会分配container,然后在合适的NodeManager上启动Executor进程

第四步,Executor进程启动后会向Driver反向注册,Executor全部注册完成后Driver开始执行main函数,

第五步,之后执行到Action算子时,触发一个Job,并根据宽依赖开始划分stage,每个stage生成对应的TaskSet,之后将task分发到各个Executor上执行。

[if !supportLists]2.1.1 [endif] YARN  Clu

图2-4 YARN Cluster 模式

在YARN  Cluster  模式下,任务提交后会和ResourceManager  通悉消讯申请启动

ApplicationMaster,随后ResourceManager  分配container,在合适的NodeManager

上启动ApplicationMaster,此时的ApplicationMaster 跟Driver在一个NodeManager上,但当有多个App任务时,Driver会分布在多个NodeManager上面,因为Driver要与client通信睁誉知,Driver在同一个NodeManager上会对网络的要求很高。

Driver 启动后向ResourceManager 申请Executor 内存,ResourceManager 接到

ApplicationMaster 的资源申请后会分配container,然后在合适的NodeManager 上启动Executor 进程,Executor 进虚培程启动后会向Driver 反向注册,Executor 全部注册完成后Driver 开始执行main 函数,之后执行到Action 算子时,触发一个job,并根据宽依赖开始划分stage,每个stage  生成对应的taskSet,之后将task  分发到各个

Executor 上执行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12500512.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存