图中集群基于standalone模式
1. TaskScheduler通过它对应的一个后台进程去连接Master,向Master注册Application。
2. Excutor启动之后,会反向注册到TaskScheduler上去。
3. TaskScheduler会把每一个task提交到Excutor上去执行。(task分配算法有 FIFO/FAIR两种)
- SparkContext在初始化的时候,会创建DAGScheduler和TaskScheduler。
- Master接收到Application注册请求后,会使用相关的资源调度算法,在spark集群的worker上,为Application启动多个Excutor。
- Task有两种:ShuffleMapTask和ResultTask。只有最后一个stage是ResultTask,之前的stage都是ShuffleMapTask。