HBase目录结构与Compaction

我们首先查看一下HDFS中的HBASE存储,可以找到其中几个目录

临时文件 /hbase/.tmp
归档 /hbase/archive
WAL日志 /hbase/WALs/debugo01 …
数据 /hbase/data//

我们下面建立’member’这张表:

这时候在HDFS中我们没有找到member所属的文件。下面我们put一条数据:

再次查看HDFS中的文件:

对于这个表,HBase维护了一个tabledesc,regioninfo等元信息文件,以及各个列簇对应的目录文件。但是各个列簇下面为空。这是因为现在数据还在RegionServer的memstore之中,并未写入到HDFS的HFile之中,下面我们进行flush操作。

持久化的HFile已经生成。下面我们再次插入数据。通过flush,新的storefile已经生成。

然后进行Compaction。通过命令行的compact(minor)或major_compact以及WebUI都可以进行。其中major_compact的使用方法如下:

下面对’member’全表级进行一次major compaction。但是在生产中一定要对列簇级进行,以避免对系统的影响太大。

^^

Posted in BigData, HBase|Hive.