前言
上篇文章有讨论到Spark On Yarn的两种部署模式,如果有不清楚的地方,可以再看看,附上对应文章的链接:Spark的部署模式,本篇文章主要讨论Spark On Yarn两种部署模式的运行流程。
(一)Spark On Yarn集群的Client模式运行流程
该模式的Driver程序在本地Client端运行;
- 大致流程:先在提交任务的节点上启动Driver程序,然后向Yarn集群申请运行资源,申请到运行资源后开始执行任务;
- 详细流程如下:
(1)在提交任务的节点上启动Driver程序,执行Main函数,创建SparkContext对象
(2)Driver程序启动成功后,向ResourceManager申请启动ApplicationMaster
(3)ResourceManager接收到请求后,在适当的一台NodeManager节点启动ApplicationMaster
(4)ApplicationMaster启动成功后与Driver程序上的SparkContext对象通信,并根据SparkContext提供的任务信息向ResourceManage