Spark的三种提交模式
1.standalone模式,基于Spark自己的Master-Worker模式
2.基于YARN的yarn-cluster模式
3.基于YARN的yarn-client模式
yarn-cluster模式讲解
1.用spark-submit提交(yarn-cluster)
2.发送请求到Yarn集群的ResourceManager,请求启动ApplicationMaster(这里的AM相当于是一个Driver)
3.ResourceManager接收到请求以后,会分配一个contaier,在某个nodemanager上启动ApplicationMaster
4.ApplicationMaster启动以后与ResourceManager通信,请求container,启动executor
5.ResourceManager分配一批container,用于启动executor
6.ApplicationMaster这时又会去找其他的NodeManager,去启动executor,这里的NM相当于Worker
7.executor启动后,向AM反向注册
yarn-client模式讲解
1.用spark-submit提交(yarn-client)
2.发送请求给RM,请求启动AM
3.RM分配一个container,在某个NM上启动AM,但是这里的AM,其实只是一个ExecutorLauncher
4.ExecutorLauncher与RM通信,申请container,启动executor
5.RM分配一批container,然后AM连接其他NM,用container的资源,启动executor
6.NodeManager上的executor启动以后,会反向注册到本地的Driver上,这也是和yarn-cluster的区别
yarn-cluster模式与yarn-client模式对比
1.yarn-client用于测试,因为driver运行在本地客户端,负责调度application,会与yarn集群产生超大量的网络通信,会导致网卡流量激增
2.yarn-cluster,用于生产环境,因为dirver运行在nodemanager,没有网卡流量激增的问题,缺点是调试不方便
本文介绍了Spark在YARN上的三种提交模式,重点讲解了yarn-cluster和yarn-client模式的工作流程及区别。在yarn-cluster模式中,ApplicationMaster作为Driver,而yarn-client模式下Driver运行在客户端,适用于测试环境,可能引起网络流量问题。yarn-cluster模式更适合生产环境,避免了网卡流量激增,但调试不便。
3万+

被折叠的 条评论
为什么被折叠?



