HBase MemStore解析

  • MemStore是一个写缓冲区, 在此缓冲区中, HBase会在永久写入之前在内存中累积数据。
  • 当MemStore填满时, 其内容将刷新到磁盘以形成HFile。
  • 它不会写入现有的HFile, 而是在每次刷新时形成一个新文件。
  • HFile是HBase的基础存储格式。
  • HFiles属于一个列族(每个列族一个MemStore)。列族可以有多个HFile, 但是事实并非如此。
  • MemStore的大小是在名为hbase.hregion.memstore.flush.size的hbase-site.xml中定义的。
当托管尚未刷新的MemStore的服务器崩溃时, 会发生什么情况?
HBase群集中的每个服务器都会保留一个WAL以记录更改。 WAL是基础文件系统上的一个文件, 直到成功写入新的WAL条目才认为写入成功。
【HBase MemStore解析】
如果HBase发生故障, 则可以通过重播WAL来恢复尚未从MemStore刷新到HFile的数据, 这由Hbase框架负责。

    推荐阅读