HBase MemStore

2024年8月28日 | 1分钟阅读
  • MemStore 是一个写入缓冲区,HBase 在将数据永久写入之前,先在内存中累积数据。
  • 当 MemStore 填满时,其内容会被刷新到磁盘以形成 HFile。
  • 它不会写入现有的 HFile,而是在每次刷新时形成一个新文件。
  • HFile 是 HBase 的底层存储格式。
  • HFile 属于一个列族(每个列族一个 MemStore)。一个列族可以有多个 HFile,但反之则不然。
  • MemStore 的大小在 hbase-site.xml 中定义,名为 hbase.hregion.memstore.flush.size。

如果托管尚未刷新的 MemStore 的服务器崩溃,会发生什么情况?

HBase 集群中的每台服务器都会保留一个 WAL,以记录发生的更改。WAL 是底层文件系统上的一个文件。在成功写入新的 WAL 条目之前,不会认为写入成功,这保证了持久性。

如果 HBase 宕机,则可以将尚未从 MemStore 刷新到 HFile 的数据通过重放 WAL 来恢复,这由 Hbase 框架处理。

下一个主题HBase 安装