Spark学习-Standlone提交模式

Spark内核架构包括:Application、spark-submit、Driver、SparkContext、Master、Worker、Executor、Job、DAGScheduler、TaskScheduler、ShuffleMapTaskand ResultTask等部分。

Standalone client提交模式:

Spark学习-Standlone提交模式

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,执行我们定义的算子和函数。