启动流程如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/e0b1672bfff7f555de11b79270edfab5.png)
一、名词解释
1、CoarseGrainedSchedulerBackend:由Driver启动。是一个阻塞等待coarse-grained executors来连接的SchedulerBackend。CoarseGrainedSchedulerBackend向ExecutorBackend端发送的消息主要如下:
(1)RegisteredExecutor:回复ExecutorBackend注册功能,ExecutorBackend接到后会创建Executor。
(2)LaunchTask:通知Executor启动一个task,消息中包含序列化的task信息,Executor通过该信息启动task。
2、CoarseGrainedExecutorBackend:粗粒度的ExcutorBackend进程,是Executor运行所在的进程名称。CoarseGrainedExecutorBackend在spark运行期是一个单独的进程,在Worker节点可以通过Java的jps命令查看。
3、Executor:是真正在处理Task的对象,Executor内部通过线程池的方式来完成Task的计算
4、RegisterExecutor & RegisteredExecutor:消息类。如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/ad978c3124001b4b4cd5f21758716ed5.png)