HBASE-19148),这个 WAL 文件就会发生 roll 操作。 我们可以通过 hbase.regionserver.logroll.multiplier 参数控制达到块大小的多少百分比就发生 roll。我们也可以通过 hbase.regionserver.hlog.blocksize 参数来控制块大小(注意,这个块大小不是 HDFS 的块大小)。除了文件大小能触发 rolling,HBase 也会定时去 Rolling WAL 文件,这个时间是通过 hbase.regionserver.logroll.period 参数实现的,默认是一小时。这两个策略满足一个就可以出发 WAL 的 Rolling 操作。

WAL 文件的大小对于 HBase 恢复是有影响的,因为 HBase 在使用 WAL 文件恢复数据的时候,对应的 Region 是无法提供服务的,所以尽量保持少一些的 WAL 文件。

一个 RegionServer 会包含多个 Region 的,HBase 并不为每个 Region 使用一个 WAL,而是整个 RegionServer 里面的 Regions 共用一个 WAL 日志。同时,只有一个 WAL 文件处于 active 状态。WAL 在 HDFS 上的目录格式和文件名称如下:

//WAL 目录格式

/hbase/WALs/<host>,<port>,<startcode> 
/hbase/WALs/192.168.1.103,16020,1542292581331

//WAL 文件名称格式
/hbase/WALs/<host>,<port>,<startcode>/<host>%2C<port>%2C<startcode>.<timestamp>
/hbase/WALs/192.168.1.103,16020,1542292581331/192.168.1.103%2C16021%2C1547646103879.1547646379202
本博客文章除特别声明,全部都是原创!
原创文章版权归过往记忆大数据(过往记忆)所有,未经许可不得转载。
本文链接: 【Apache HBase 写数据流程说明】(https://www.iteblog.com/archives/2502.html)
喜欢 (12)
分享 (0)
发表我的评论
取消评论

表情
本博客评论系统带有自动识别垃圾评论功能,请写一些有意义的评论,谢谢!