Spark源码之BlockManager

本文介绍了BlockManager作为分布式块存储管理系统的核心机制及其四个主要组件的作用。详细讲解了BlockManager如何通过各节点间的协作实现数据块的存储、复制及元数据管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BlockManager是分布式块存储管理。核心机制是每个节点存储自己的内存空间和磁盘空间。BlockManagerMaster负责与其他节点的BlockManager通信并负责块在节点间的复制。BlockInfoManager负责管理块的元数据并提供读写锁的功能。当从本地的BlockManager获取不到块时,从远程节点Fetch这个块。

Broadcast也是运用了BlockManager来存储广播变量,广播变量不需要通过锁的机制,参见源码这里不单独指出。

四大BlockManager组件:

名称

说明

BlockManagerMaster

BlockManager的主节点,所有的Block请求消息都是从这里发出。

BlockManagerMasterEndPoint

主节点的BlockManager的Endpoint,负责解释slave发送来的块消息请求

BlockManagerSlaveEndPoint

负责slave节点的块请求消息处理,处理master发来的Block消息。master保存注册过来的多个slaveEndpoint。所有的BlockInfo更新都要通知给master。

BlockManager

在每个节点上运行Blockmanager。

通过BlockManagerMaster来实现块的复制。

通过BlockInfoManager读写块的元数据;通过MemoryStore和DiskStore实现块数据的存储读写。

BlockInfoManager

管理BlockInfo数组,加上读写锁的控制。主要为BlockManager服务。

 

 

转载于:https://my.oschina.net/u/778683/blog/1831146

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值