HBase --- RegionServer组件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangguosb/article/details/82021477

RegionServer

RegionServer组件主要分为4部分:

  • WAL: HDFS上日志文件,存储还未持久化到HFile的数据,以及MemStore的恢复,每个RegionServer有一个WAL,被所有Region共享;
  • BlockCache: 读缓存,存储被打开的HFile的索引结构,使用LRU策略;
  • MemStore: 写缓存,存储还未持久化到HFile的最新写数据,每个Region的CF对应一个MemStore;
  • HFile:MemStore的持久化存储;

这里写图片描述

MemStore

  在内存中存储了每个CF的最新值,结构如下所示:
    这里写图片描述

HFile

刷盘策略

  当MemStore的容量达到设定阈值后,会被持久化到HFile,由于顺序写,因此速度会很快,如下图所示:
  这里写图片描述

文件结构

  HFile文件结构如下方左图所示,为了提升查询数据的速度,创建了多级索引,以类似B+树的形式组织,如下方右图所示:
  这里写图片描述

与BlockCache关系

  当HFile被打开后其索引结构会被缓存到BlockCache中,方便后续的查询,如下图所示:
  这里写图片描述

参考:

  1. https://mapr.com/blog/in-depth-look-hbase-architecture/

猜你喜欢

转载自blog.csdn.net/yangguosb/article/details/82021477