Spark在Yarn集群的两种提交模式

  • Post author:
  • Post category:其他



目录


一.Yarn Client(yarn的客户端模式)


二.Yarn Cluster(yarn的集群节点模式)


三.两者的差异


一.Yarn Client(yarn的客户端模式)

第一步:Driver端会在提交的本地机上运行

第二步:Driver端启动后会跟ResourceManager(RM)进行通信,申请启动一个ApplicationMaster(AM)。

第三步:RM会分配一个container容器,在合适的NodeManager上面启动AM,负责向RM申请Executor内存。

第四步:RM接到AM的资源申请后会分配一个container,AM会在指定的NodeManager上面启动Executor进程。

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

第六步:当执行到行动算子的时候,就会触发一个Job。根据宽依赖划分一个stage,一个stage就是一个TaskSet,之后把task分发到对应的Executor上执行。

最后把数据交给客户端,所有数据在客户端合并(注 意:这是与


yarn-cluster


的区别所在),清洗数据后完成工作。

二.Yarn Cluster(yarn的集群节点模式)

第一步:yarn cluster模式,任务提交后把程序直接发送到节点上,然后跟ResourceManager(RM)进行通信,申请一个ApplicationMaster(AM)。

第二步:RM会分配一个container容器,在指定的NodeManager上面启动AM,此时的AM就是Driver。

第三步:Driver会向RM申请Executor内存,RM接到AM的申请后,会分配一个container在合适的NodeManager上面执行Executor进程。

第四步:Executor向Driver端进行反向注册,注册完成后执行Driver的main函数

第五步:之后执行到行动算子就是一个Job。根据宽依赖划分一个stage,一个stage就是一个TaskSet,之后将task发到对应的Executor上面执行。

三.两者的差异

client模式主要用于测试,所有的数据都是在客户端进行合并

cluster模式用于日常生产,任务调度资源分配都是在节点上面完成的,不返回客户端,所以在客户端看不到信息,需要到监控器节点上面查看。端口号:8042



版权声明:本文为liutao3233原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。