RegionServer

RegionServer组件主要分为4部分:

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

HBase --- RegionServer组件

MemStore

  在内存中存储了每个CF的最新值,结构如下所示:
    HBase --- RegionServer组件

HFile

刷盘策略

  当MemStore的容量达到设定阈值后,会被持久化到HFile,由于顺序写,因此速度会很快,如下图所示:
  HBase --- RegionServer组件

文件结构

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

与BlockCache关系

  当HFile被打开后其索引结构会被缓存到BlockCache中,方便后续的查询,如下图所示:
  HBase --- RegionServer组件

参考:

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

相关文章:

  • 2021-09-23
  • 2022-02-17
  • 2021-07-12
  • 2021-08-30
  • 2021-08-30
  • 2021-07-28
  • 2021-04-26
  • 2021-09-29
猜你喜欢
  • 2021-10-12
  • 2021-11-27
  • 2021-09-28
  • 2021-10-01
  • 2022-12-23
  • 2021-05-16
  • 2022-12-23
相关资源
相似解决方案