开发者社区> 问答> 正文

HBase中的HLog Replay的作用是什么?

HBase中的HLog Replay的作用是什么?

展开
收起
游客k7rjnht6hbtk6 2021-12-06 16:25:02 536 0
1 条回答
写回答
取消 提交回答
  • 了解了关于HStore的基本原理,但我们还必须要了解一下HLog的功能,因为上述的HStore在系统正常工作的前提下是没问题的,但是在分布式 系统环境中,无法避免系统出错或者宕机,因为一旦HRegionServer意外退出,MemStore中的内存数据将会丢失,这就需要引入HLog。每个HRegionServer中都有一个HLog对象,HLog是一个实现Write Ahead Log的类,在每一次用户操作写入MemStore的同时,也会写一份数据到HLog文件中,HLog文件定期(当文件已持久化到StoreFile中的数据)会滚出新的,并且删除旧的文件。当HRegionServer意外终止 后,HMaster会通过Zookeeper感知到,HMaster首先会处理遗留的Hlog文件,将其中不同Region的Log数据进行拆分,分别放到相应Region的目录下,然后再将失效的Region重新分配,领取到这些Region的Regionserver在Load Region的过程中,会发现历史HLog需要处理,因此Replay HLog中的数据到MemStore中,然后flush到StoreFiles,完成数据恢复。

    2021-12-06 16:25:27
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Lindorm助力携程HBase混合云体系的建设 立即下载
玩转HBase和Lindorm 大数据入门和实战 立即下载
《玩转HBase和Lindorm大数据入门和实战》 立即下载