1.客户端启动,初始化相关的环境变量,包括application代码的提交
2.反射调用org.apache.spark.deploy.yarn.Client,创建AriverActor(其他方式提交,Driver可能运行在Worker节点中)
3.向Master注册Driver
4.Driver初始化SparkContext、DAGScheduler、TaskScheduler等
5.DAGScheduler向Master注册Application,Master接收请求后,根据资源向Worker发送指令启动ExecutorExecutor启动后向Driver注册
6.DAG进行Job的Stage划分
7.DAGScheduler提交作业给TaskScheduler
8.TaskScheduler向注册来的Executor发送LaunchTask命令进行任务的运行
9.Executor端进行Task相关信息的反序列化,相关jar和配置文件的下载,并运行
10.如果运行的ShuffleMapTask,将结果保存到本地文件中,汇报给Driver等待ResultTask或者其他ShuffleMapTask获取
11.ResultTask根据Driver中提供的信息进行结果的获取和Reduce,最后结果汇报给Driver
12.运行结束
Spark Application运行流程
最新推荐文章于 2024-01-13 20:11:07 发布