- Spark-submit 提交 Application
- Spark on Yarn运行模式 ,产生Driver
- Driver 会生成一个SparkContext 对象sc , sc 会创建两个对象 分别为DAGScheduler 对象和 TaskScheduler 对象
- sc 去向ClusterManager 进行注册 , 并申请资源
- CM 向Worker 分配资源 【资源调度算法】
- Worker 启动了executor , executor 中有线程池
- executor 向 Driver 反向注册 ,等待task任务提交
- sc 初始化完成 ,执行接下来的代码遇到一个action , 就会产生一个job 任务
- DAGScheduler 会根据RDD 的宽窄依赖关系 ,划分stage ,给TaskScheduler 发送TaskSet (包含多个task)
- TaskScheduler 将Task 序列化后发送给executor
- executor 反序列化Task 对象 ,然后线程池启动Task 任务
- 执行完成后,sc注销资源
Spark启动流程
于 2022-09-14 12:10:29 首次发布