Spark的Yarn模式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark的Yarn模式相关的知识,希望对你有一定的参考价值。

YARN模式运行机制

1、YARN Client模式

Spark的Yarn模式_运行机制

图1-1 YARN Client模式

在YARN Client模式下,Driver在任务提交的本地机器上运行,Driver启动后会和ResourceManager通讯申请启动ApplicationMaster,随后ResourceManager分配container,在合适的NodeManager上启动ApplicationMaster,此时的ApplicationMaster的功能相当于一个ExecutorLaucher,只负责向ResourceManager申请Executor内存。

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

2、YARN Cluster模式

Spark的Yarn模式_资源分配_02

图2-1 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上执行。

以上是关于Spark的Yarn模式的主要内容,如果未能解决你的问题,请参考以下文章

Spark记录-Spark On YARN内存分配(转载)

Spark 在 Yarn 上运行 Spark 应用程序

spark-submit / spark-shell > yarn-client 和 yarn-cluster 模式的区别

Spark的运行模式--Yarn-Cluster

Spark的Yarn模式

使用 YARN 集群模式的 NAT 后面的 Spark 应用程序