spark从入门到放弃十四:SparkContext原理剖析

文章地址:http://www.haha174.top/article/details/257766
1.TaskScheduler
createTaskScheduler .这里会做三件事情。
1.1 创建TaskSchedulerImpl 他其实就是TaskScheduler(后面在做详细的分析)
TaskSchedulerImpl 底层主要基于SparkDeploySchedulerBackend来工作。
1.2 创建 SparkDeploySchedulerBackend 他在底层会接受TaskSchedulerImpl的控制。实际上负责Master注册,Executor 反注册,task发送到Executor等等
1.3 调用TaskSchedulerImpl的init方法创建SchedulePool 他有不同的优先策列。比如FIFO。
创建完了TaskScheduler 之后。会去调用TaskSchedulerImpl的start 方法。在这个方法内部实际上会去调用SparkDeploySchedulerBackend的start方法。实际上在这个方法里面去创建AppClient.启动一个线程创建一个ClientActor这个线程会调用两个方法。registerWithMaster()->tryRegisterAllMasters()。这两个方法向master发送一个registerApplication 里面封装了Application 信息。然后master调度worker启动Executor.Executor反向注册到TaskScheduler上。
图解:

这里写图片描述

2.DAGScheduler
DAGSchedulerEventProcessActor.DAGScheduler底层基于该组件进行通信。
3.SparkUI 提供jetty服务器 提供spark 服务。
欢迎关注,更多福利


这里写图片描述

你可能感兴趣的:(spark从入门到放弃十四:SparkContext原理剖析)