【HBase工具】查看解析HLog

查看解析HLog也是HBase本身自带的一个小工具

使用很简单:

$ ${HBASE_HOME}/bin/hbase org.apache.hadoop.hbase.regionserver.wal.HLog
Usage: HLog <ARGS>
Arguments:
--dump Dump textual representation of passed one or more files
For example: HLog --dump hdfs://example.com:9000/hbase/.logs/MACHINE/LOGFILE
--split Split the passed directory of WAL logs
For example: HLog --split hdfs://example.com:9000/hbase/.logs/DIR

该工具目前就提供了2个功能
dump: 将HLog中的数据完全导出,会比原hlog文件大很多,导出速度比较慢,但是在需要定位数据正确性问题的时候,还是用得着的

split:和Master HLog-Split作用一样,会把一个目录下的hlog文件split成多个region的recovered.edits文件,并会将分割完的hlog文件归档到.oldlogs目录,所以[color=red]用这个功能一定要谨慎[/color],好像没啥场景需要用这个功能。。。

工作中用过该工具的场景:
1.数据出现不一致,客户端写入的数据不见啦。。。在早期的HBase版本中,这个问题在我们的测试中出现过多次,这种情况下,你就可以通过该工具来定位,丢失的数据发生在:
a.根本没写入hlog
b.split-log时
c.region replay log时
d.flush时
e.compaction时

a,b,c可以使用该工具来定位,d,e的话可以通过hfile解析工具,
master会定期清理oldlogs目录下的文件,在测试环境中,这个清理周期可以设置的长点
展开阅读全文

没有更多推荐了,返回首页