Spark作业运行流程
Spark 作业运行流程
1、Driver通过SparkContext向Cluster Manager 申请资源
2、Cluster Manager分配资源、并在Worker节点上创建Executor
3、SparkContext将程序代码和Task发送到Executor
4、SparkContext收集结果到Driver程序端
YARN 资源管理器介绍
Spark 程序在 YARN 上执行流程
- 1、client向 ResourceManager提交一个应用程序,启动参数和用户程序等。
- 2、启动一个Container,运行ApplicationMaster。
- 3、运行ApplicationMaster启动注册,启动好之后向ResourceManager发送心跳。
- 4、ApplicationMaster会向ResourceManager去发送一个请求申请相应的Container信息。
- 5、ResourceManager返回ApplicationMaster申请的Container信息。
- 6、当资源申请成功之后,Container由ApplicationMaster进行初始化之后。
- 7、ApplicationMaster会与对应的NodeManager进行通信,以便对要求NodeManager的启动其申请到的Container。
- 8、ApplicationMaster与NodeManager保持心跳,
- 9、以便实时对NodeManager运行的状态任务数据进行监控
- 10、运行时状态获取和更新
- 11、ApplicationMaster运行完成并注销,释放Container资源