Spark学习-Standlone提交模式
Spark内核架构包括:Application、spark-submit、Driver、SparkContext、Master、Worker、Executor、Job、DAGScheduler、TaskScheduler、ShuffleMapTaskand ResultTask等部分。
Standalone client提交模式:
1.Standalone会通过反射的方式,创建和构造一个DriverActor进程。
2.DriverActor进程执行Application应用程序。
3.SparkContext在初始化时,构造出DAGScheduler和TaskScheduler。
4.TaskScheduler通过后台进程连接Master,并向Master注册Application。
5.Master接收Application注册请求后,使用资源调度算法在集群worker上为Application启动多个Executor。
6.Executor会反向注册到TaskScheduler上去。
7.Driver结束SparkContext初始化,继续执行我们编写的代码。
8.每执行到一个Action,就会创建一个job,并提交给DAGScheduler。
9.DAGScheduler会将job划分为多个stage,然后每个stage创建一个TaskSet。
10.TaskScheduler会把TaskSet里每一个Task提交到Executor上执行。
11.Executor每接收到一个task,都会用TaskRunner来封装Task,然后从线程池里取出一个线程来执行。
12.每个Task针对RDD的一个partition,执行我们定义的算子和函数。