目录
零:初始触发
位置:org.apache.spark.SparkContext.scala
初始化代码:
val conf = new SparkConf().setAppName("WordCount");
val sc = new SparkContext(conf)
一:TaskSchedule初始化(宏观)
1.createTaskScheduler() ——》 TaskSchedulerImpl
2.TaskSchedulerImpl.start——》SparkDeploySchedulerBacked.start
3.AppClient——》ClientActor
4.registerWithMaster()
tryRegisterAllMasters()
RegisterApplication(case class)
在Master 上注册 Application
在Master 上注册 Driver
在Master 上注册 Worker
Worker上的Executor 反向注册到 TaskSchedule 中
重点:TaskSchedulerImpl底层实际主要基于 SparkDeploySchedulerBackend 来工作