spark on yarn部署模式——yarn-client和yarn-cluster

一、yarn-cluster

与standalone模式不同,yarn-cluster是基于yarn集群,yarn集群上有ResourceManager(RM)和NodeManager(NM)。

1、发送请求到RM,请求启动AM

2、RM会分配container,在某个NM上启动AM

3、AM启动后,和RM通讯,请求container来启动executor

4、RM会给AM提供一批container用于启动executor

5、AM连接其他NM启动executor

6、executor启动后向AM反向注册

 

二、yarn-client

从上图可以看出,yarn-client和yarn-cluster的区别就在于,Driver是运行在本地客户端,它的AM只是作为一个Executor启动器,并没有Driver进程。

看到这里,开头为什么说yarn-client用于测试环境调试程序;yarn-cluster用于生产环境就清楚了。

1、yarn-client,driver运行在本地客户端,负责调度Application,会与yarn集群产生大量的网络通信,从而导致网卡流量激增。好处是,执行时可以在本地看到所有的log,便于调试。所以一般用于测试环境。

2、yarn-cluster,driver运行在NodeManager,每次运行都是随机分配到NM机器上去,不会有网卡流量激增的问题。缺点就是本地提交后看不到log,只能通过yarn application-logs application id命令来查看。比较麻烦。
 

转载自:yarn-cluster和yarn-client模式剖析

参考:Running Spark on YARN doc

There are two deploy modes that can be used to launch Spark applications on YARN. In cluster mode, the Spark driver runs inside an application master process which is managed by YARN on the cluster, and the client can go away after initiating the application. In client mode, the driver runs in the client process, and the application master is only used for requesting resources from YARN.

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值