您当前的位置: 首页 > 

宝哥大数据

暂无认证

  • 0浏览

    0关注

    1029博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

三、存储体系

宝哥大数据 发布时间:2019-04-13 21:26:44 ,浏览量:0

3.1、block存储体系

参考https://blog.csdn.net/beliefer/article/details/88665814 在这里插入图片描述

3.2、BlockManager之间的通信
  • Spark存储(主要由BlockManager来完成)主要完成了写入数据块,如果需要备份数据块,则将数据块写入其他节点;读取数据块,如果当前节点不含有数据块,则从其他节点获取数据块;向Driver节点注册自身的BlockManager,以及上报其所管理的数据块信息。

  • Spark使用BlockInfoManager来管理当前节点所管理的数据块的元数据,维护了BlockId(数据块的唯一标识)到BlockInfo(数据块元数据)的映射关系。使用内存(MemoryStore)和磁盘(DiskStore)来存储数据块。

  • Spark使用BlockManagerMaster使Executor的BlockManager与Driver进行通信,向Driver注册自己,并上报数据块信息。Driver通过Executor BlockManager的BlockManagerSlaveEndpoint向Executor发出删除数据块/Rdd/Shuffle/Broadcast等数据。

  • Spark使用ShuffleClient来实现不同Executor BlockManager之间的通信。ShuffleClient中包含了一个TransportServer和一个用来创建client的TransportClientFactory,作为服务器和客户端实现Executor BlockManager之间的双向通信。 在这里插入图片描述

3.3、 shuffle服务与客户端 ShuffleManager
  • SortShuffleManager
  • IndexShuffleBlockResolver
SerializerManager 3.3.1 Spark Rpc框架
  • 3.3.1.1、BlockTransferService的初始化
  • 3.3.1.2、Block的Rpc服务
  • NettyBlockRpcServer提供上传,下载Block的Rpc服务
  • 3.3.1.3、构造传输上下文你TransportContext
3.3.2、上传、下载shuffle文件
  • 是由BlockTransferService的fetchBlocks, uploadBlock实现
3.4、BlockManagermaster对BlockManager的管理
  • BlockTransferService
  • DiskBlockObjectWriter
3.5、磁盘管理器DiskBlockManager 3.6、磁盘存储DiskStore 3.7、MemoryStore
关注
打赏
1587549273
查看更多评论
立即登录/注册

微信扫码登录

0.0390s