Spark Master类源码的分析——Master的主备切换过程
2019-07-02 11:04
141 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41321219/article/details/94434435
这篇文章主要是对Master主备切换过程的源码进行分析,分析了主备切换的详细实现流程
由于文章本来是写在我的笔记本里的,不方便粘代码,代码就直接贴图了
首先分析completeRecovery()方法:
下面分析上面的schedule方法:
下面分析上面的launchDriver方法:
上面的worker.endpoint.send方法通过Akka或者Netty的Rpc通信实现actor通信
这里是我的一个失误,我的程序里有 Spark 1.x的Jar包 也有 Spark 2.x的Jar包
这里的Akka和Netty分别属于1.x和2.x的Jar包,也就是说并不是通过Akka或Netty实现通信
而是不同版本用不同的我方式
如下就是Akka的send方法:
如下就是startExecutorOnWorkers方法:
下面就是通过conf获取的spreadOutApps(判断准则):
下面解析了scheduleExecutorsOnWorkers方法
spark2.x的这部分代码除了通信框架由Akka换成了Netty,其他的几乎没有变化
相关文章推荐
- spark源码学习(二)---Master源码分析(1)-master的主备切换机制
- Spark源码分析(三):Master主备切换
- Master主备切换机制原理及源码分析(笔记)
- Spark源码分析之Master主备切换机制
- Master原理剖析与源码分析:主备切换机制原理剖析与源码分析
- HBase源码分析_Master启动过程
- HBase 0.94 master启动过程源码分析
- spark源码分析之master主备切换篇
- Spark内核源码深度剖析:Master主备切换机制原理剖析与源码分析
- Hbase 源码分析5--Master启动过程
- spark源码分析之Master源码主备切换机制分析
- ViewPager源码分析——滑动切换页面处理过程
- PHP源码分析之变量的存储过程分解
- Netty5源码分析--2.客户端启动过程
- OpenStack建立实例完整过程源码详细分析(3)
- Netty4.x.x启动过程源码分析
- SaltStack源码分析之:master端执行salt模块大致流程
- kernel-2.6.32-431.el6.src.rpm内核源码安装过程和问题分析
- android中service创建过程源码分析
- 【Spring源码分析】原型Bean实例化过程、byName与byType及FactoryBean获取Bean源码实现