java 远程 yarn jar_再论Yarn Client和Yarn cluster
发布日期:2021-06-24 10:43:34 浏览次数:3 分类:技术文章

本文共 771 字,大约阅读时间需要 2 分钟。

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用于生产环境。

转载地址:https://blog.csdn.net/weixin_32256355/article/details/114856302 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java单元测试断言_单元测试+断言
下一篇:java和历转为西历_日期转西暦,和暦

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年03月30日 17时42分13秒