- 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发生故障, 则可以通过重播WAL来恢复尚未从MemStore刷新到HFile的数据, 这由Hbase框架负责。
评论前必须登录!
注册