hbase中除了有查看hfile文件的命令,也提供也查看hlog文件的命令:
在hbase的根目录下有个.logs目录,里面就是hlog文件,一台RegionServer机器对应一个文件。老的hlog文件会被移到.oldlogs目录:
[admin@bufer108081.tbc ~/dev/baoniu]$ hadoop fs - ls /hbase-0.90/.logs |
drwxrwxr-x - hadoop hadoop,admin 0 2014-05-20 20:43 /hbase-0.90/.logs/bufer108056.tbc,30020,1400049798389 |
drwxrwxr-x - hadoop hadoop,admin 0 2014-05-20 20:43 /hbase-0.90/.logs/bufer108057.tbc,30020,1400049798399 |
drwxrwxr-x - hadoop hadoop,admin 0 2014-05-20 20:43 /hbase-0.90/.logs/bufer108058.tbc,30020,1400049798425 |
命令的参数:
[admin@bufer108081.tbc ~/dev/baoniu]$ ~/hbase/bin/hbase org.apache.hadoop.hbase.regionserver.wal.HLog --dump |
--dump Dump textual representation of passed one or more files |
-- split Split the passed directory of WAL logs |
[admin@bufer108081.tbc ~/dev/baoniu]$ ~/hbase/bin/hbase org.apache.hadoop.hbase.regionserver.wal.HLog --dump -h usage: HLog <filename...> [-h] [-j] [-p] [-r <arg>] [-s <arg>] [-w <arg>] |
-h,--help Output help message |
-p,--printvals Print values |
-r,--region <arg> Region to filter by. Pass region name; e.g. |
-s,--sequence <arg> Sequence to filter by. Pass sequence number. |
-w,--row <arg> Row to filter by. Pass row name. |
通过以下命令就可以查看hlog文件的内容:
[admin@bufer108081.tbc ~/dev/baoniu]$ ~/hbase/bin/hbase org.apache.hadoop.hbase.regionserver.wal.HLog --dump -p /hbase-0.90/.logs/bufer108118.tbc,30020,1400049798450/bufer108118.tbc%2C30020%2C1400049798450.1400557412298 |
14/05/20 15:06:49 INFO Configuration.deprecation: fs.default.name is deprecated. Instead, use fs.defaultFS |
Sequence 8347119 from region a98994dbcf5b1fcd47f69efcf804c385 in table test |
at time : Tue May 20 11:43:45 CST 2014 |
value: \xE5\x95\x86\xE5\x93\x81\xE4\xB8\xADxE8\xAF\x95\xE5\xAE\x9D\xE8\xB4\x9D |
at time : Tue May 20 11:43:45 CST 2014 |
at time : Tue May 20 11:43:45 CST 2014 |
value: 19/60/74/196074.jpg |
at time : Tue May 20 11:43:45 CST 2014 |
at time : Tue May 20 11:43:45 CST 2014 |
at time : Tue May 20 11:43:45 CST 2014 |