Spark内核源码深度剖析(10) -BlockManger 原理分析
2019-01-10 10:38
621 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012292754/article/details/86175716
1 BlockManager 原理分析
Driver
上,有BlockManagerMaster
,他的功能就是负责对各个节点上的BlockManager
内部管理的数据的元数据进行维护,比如 block 增删改查等操作,都会在这里维护元数据的变更。- 每个节点都有
BlockManager
, 它的几个关键组件,DiskStore
,负责对磁盘上的额数据进行读写;MemoryStore
,负责对内存中的数据进行读写;ConnectionManager
,负责建立BlockManager
到远程其他节点的BlockManager
的网络连接;BlockManagerWorker
,负责对远程其他节点的BlockManager
的数据读写; - 使用
BlockManager
进行读写操作时,比如,RDD运行过程中的一些中间数据,或者用户手动指定了persist()
,优先将数据写入内存。如果内存大小不够,会使用自己的算法,将内存中的部分数据写入磁盘。 - 如果
persist()
指定了要replica
,会使用BlockManagerWorker
将数据 replicate 一份到其他节点的BlockManager
; - 从
BlockManager
读取数据时,比如说ShuffleRead
操作。如果能从本地读取数据,那么会用ConnectionManager
与 有数据的BlockManager
建立连接,然后用BlockManagerWorker
从远程BlockManager
读取数据
相关文章推荐
- Spark内核源码深度剖析:SparkContext原理剖析与源码分析
- Spark内核源码深度剖析:SparkContext原理剖析与源码分析
- Spark内核源码深度剖析:Master主备切换机制原理剖析与源码分析
- Spark内核源码深度剖析(11) -CacheManager 原理
- Spark内核源码深度剖析(12) -Checkpoint 原理
- Spark内核源码深度剖析:宽依赖与窄依赖深度剖析
- Spark 2.0从入门到精通:Scala编程、大数据开发、上百个实战案例、内核源码深度剖析(278讲全)
- Spark内核源码深度剖析:sparkContext初始化的源码核心
- spark内核揭秘-10-RDD源码分析
- Spark2.2 Executor原理剖析及源码分析
- spark内核揭秘-10-RDD源码分析
- Spark内核源码深度剖析:Spark内核架构深度剖析
- [Spark内核] 第32课:Spark Worker原理和源码剖析解密:Worker工作流程图、Worker启动Driver源码解密、Worker启动Executor源码解密等
- Spark内核源码深度剖析:基于Yarn的两种提交模式深度剖析
- Spark内核源码深度剖析:基于Yarn的两种提交模式深度剖析
- Spark2.2 job触发流程原理剖析与源码分析
- (笔记)spark内核源码深度剖析(一)
- Spark2.2 TaskScheduler原理剖析与源码分析
- spark源码分析之内核架构篇
- 深度剖析 Spark 分布式执行原理