Spark内核源码深度剖析:Master主备切换机制原理剖析与源码分析
2017-07-11 18:23
1141 查看
1.Master主备切换机制的原理(图解)
2.部分源码分析
master.scala中的completeRecovery方法:/* * 完成Master的主备切换 */ def completeRecovery() { // Ensure "only-once" recovery semantics using a short synchronization period. synchronized { if (state != RecoveryState.RECOVERING) { return } state = RecoveryState.COMPLETING_RECOVERY } /* * 将Application和worker,过滤出来目前的状态还是UNKNOW的 * 然后遍历,分别调用removeWorker和finishApplication方法, * 对可能已经出故障,或者甚至已经死掉的Application和Worker,进行清理 */ // Kill off any workers and apps that didn't respond to us. workers.filter(_.state == WorkerState.UNKNOWN).foreach(removeWorker) apps.filter(_.state == ApplicationState.UNKNOWN).foreach(finishApplication) // Reschedule drivers which were not claimed by any workers drivers.filter(_.worker.isEmpty).foreach { d => logWarning(s"Driver ${d.id} was not found after master recovery") if (d.desc.supervise) { logWarning(s"Re-launching ${d.id}") relaunchDriver(d) } else { removeDriver(d.id, DriverState.ERROR, None) logWarning(s"Did not re-launch ${d.id} because it was not supervised") } } state = RecoveryState.ALIVE schedule() logInfo("Recovery complete - resuming operations!") }
相关文章推荐
- Spark内核源码深度剖析:SparkContext原理剖析与源码分析
- Spark内核源码深度剖析:SparkContext原理剖析与源码分析
- spark源码分析之Master源码主备切换机制分析
- Master原理剖析与源码分析:主备切换机制原理剖析与源码分析
- Master主备切换机制原理及源码分析(笔记)
- Master原理剖析与源码分析:注册机制原理剖析与源码分析
- Spark源码分析之Master主备切换机制
- Spark的Master分析1(主备切换机制原理分析)
- Master原理剖析与源码分析:Master状态改变处理机制原理剖析与源码分析
- Master原理剖析与源码分析:资源调度机制源码分析(schedule(),两种资源调度算法)
- Spark源码分析之Master状态改变处理机制原理
- Spark源码分析之Master注册机制原理
- [Spark内核] 第32课:Spark Worker原理和源码剖析解密:Worker工作流程图、Worker启动Driver源码解密、Worker启动Executor源码解密等
- Spark内核源码深度剖析:基于Yarn的两种提交模式深度剖析
- Spark源码分析之Master资源调度算法原理
- Spark2.2 Worker、Driver和Executor向Master注册原理剖析图解及源码
- Spark 2.0从入门到精通:Scala编程、大数据开发、上百个实战案例、内核源码深度剖析(278讲全)
- Spark2.2 TaskScheduler原理剖析与源码分析
- Spark内核源码深度剖析:sparkContext初始化的源码核心
- Spark系列(五)Master主备切换机制