java 远程 yarn jar_再论Yarn Client和Yarn cluster

1、先看看Yarn client的架构示意图

d105f629df335a8c139e70e42070ebda.png

Yarn Client首先在Client端启动Driver,就是在Client端跑main函数了,这时候main函数所在的jar包还没提交给Yarn集群。SparkContext开始跑了,并且启动了YarnClientSchedulerBackend。然后YarnClientSchedulerBackend向Yarn提交申请执行ApplicationMaster(spark-yarn工程里的类),Yarn集群找到一台Container来执行ApplicationMaster,注意了:这里和yarn cluster的区别就是在Container上只启动ApplicationMaster,并不会启动Driver,因为已经启动过了。然后ApplicationMaster负责资源分配,调度Container来运行Executor,并且这些被调度启动的Executor是与Client端的Driver进行通信的。

2、再看看Yarn cluster的架构示意图

3399343ab725ffb8b981457f4e20e95a.png

而Yarn cluster就简单的多了,Client端并不执行任何东西,将jar提交给Yarn集群,Yarn集群找到一台Container启动ApplicationMaster,这时候和yarn client的区别就来了,这时候ApplicationMaster会接着启动Driver,也就是说Driver和ApplicationMaster在同一个地方,然后ApplicationMaster进行调度启动的Executor也是同Driver通信,要注意的点就是这里的Driver和ApplicationMaster在同一个地方,运行在同一个进程内。

最后,Yarn client用于调试环境,而Yarn cluster用于生产环境。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值