6、yarn运行模式

简介

spark的yarn运行模式根据Driver在集群中的位置分红两种:大数据

1)yarn-client 客户端模式spa

2)yarn-cluster 集群模式调试

yarn模式和standalone模式不一样,standalone模式须要启动spark独立集群,这样SparkContext才能与Master进行交互通讯。而yarn模式的资源管理所有托管给的ResourceManager了,因此它不须要启动spark独立集群,那么也就意味着你没法访问http://master:8080这个页面了。blog

yarn集群模式

spark的yarn集群模式,Driver运行在Application Master上,Application Master进程同时负责驱动咱们的代码程序从ResourceManager申请资源。因为它直接运行在yarn的Container当中,因此并不须要客户端,客户端能够在提交完毕以后就关闭,如图:进程

1)客户端将生成做业信息并提交给ResourceManager资源

2)ResourceManager会选择一个NodeManager去启动container,而且把ApplicationMaster分配给它去运行spark

3)NodeManager接收到之后就会启动ApplicationMaster并初始化dag做业,此时NodeManager就成为Driverio

4)ApplicationMaster向ResourceManager申请资源ast

5)ResourceManager分配资源的同时通知其它NodeManager启动相应的executor去执行task,并反馈执行状况集群

6)执行完毕,释放资源

yarn客户端模式

yarn客户端模式和yarn集群模式的区别很明显,就是在于ApplicationMaster仅仅负责从ResourceManager申请资源,而驱动代码程序的任务仍是由Client客户端负责,因此Client客户端在整个过程当中保持运行不会像集群模式同样提交完就关闭,如图:

1)客户端生成做业信息并提交给ResourceManager

2)ResourceManager在本地NodeManager启动container并分配运行ApplicationMaster

3)Client节点会初始化dag做业,经过ApplicationMaster去向ResourceManager申请资源

4)Client节点将任务分发给executor去执行,executor反馈执行状况

5)任务执行完毕,释放资源

yarn-client和yarn-cluster的区别

1)在yarn-cluster模式中,Driver运行在ApplicationMaster上,而在yarn-client模式中Driver运行在Client

2)yarn-cluster模式中,Client提交完能够直接关闭,yarn-client模式中保持运行并和executor通讯

3)yarn-cluster模式中,ApplicationMaster负责资源申请驱动程序运行,yarn-client模式中只负责资源申请,运行程序由Client负责

4)yarn-cluster适合生产环境,而yarn-client适合交互和调试

 

参考书籍:《spark大数据技术与应用》

相关文章
相关标签/搜索