星环大数据组件hyperbase在hdfs上的目录结构分析

硅步至千里 2020-04-21

hyperbase和hbase一样,底层数据结构的存储依托于hdfs;今天我们对星环的大数据平台组件hyperbase在hdfs上的存储做一下简单的介绍;

TDH:

4.x系列 TDH4.9.2之后开始使用的版本是对应开源的1.3.1,之前版本对应的开源的0.98.6

5.x系列 TDH5.2.3之后开始使用的版本是对应开源的1.3.1,之前版本对应的开源的0.98.6

6.x系列 底层hbase对应开源1.3.1版本

星环大数据组件hyperbase在hdfs上的目录结构分析

1、/hyperbase1/.tmp

当对表做创建或者删除操作的时候,会将表move 到该 tmp 目录下,然后再去做处理操作。

2、/hyperbase1/WALs

 大家都知道 hyperbase 是支持 WAL(Write Ahead Log) 的,hyperbase会在第一次启动之初会给每一台 RegionServer 在.log 下创建一个目录,若客户端如果开启WAL 模式,会先将数据写入一份到.log 下,当 RegionServer crash 或者目录达到一定大小,会开启 replay 模式,类似 MySQL 的 binlog。

3、/hyperbase1/archive

归档,hyperbase 在做 Split或者 compact 操作完成之后,会将 HFile 移到.archive 目录中,然后将之前的 hfile 删除掉,该目录由 HMaster 上的一个定时任务定期去清理。和0.94一样,只是去掉了.而已,估计是作者不想把它作为一个隐藏文件夹了吧

4、/hyperbase1/corrupt

存储hyperbase做损坏的日志文件,一般都是为空的。

5、/hyperbase1/data

这个才是 hyperbase的核心目录,0.98版本里支持 namespace 的概念模型,系统会预置两个 namespace 即:hbase和default

存储hyperbase中所有的数据,与hive中存储在HDFS上的data目录一样。

5.1 /hyperbase1/data/default

     这个默认的namespace即没有指定namespace 的表都将会flush 到该目录下面。

5.2 /hyperbase1/data/hbase

     这个namespace 下面存储了 hyperbase 的 namespace、meta 和acl 三个表,这里的 meta 表跟0.94版本的.META.是一样的,自0.96之后就已经将 ROOT 表去掉了,直接从Zookeeper 中找到meta 表的位置,然后通过 meta 表定位到 region。 namespace 中存储了 HBase 中的所有 namespace 信息,包括预置的hbase 和 default。acl 则是表的用户权限控制。

     如果自定义一些 namespace 的话,就会再/hyperbase1/data 目录下新建一个 namespace 文件夹,该 namespace 下的表都将 flush 到该目录下。

6、/hyperbase1/hbase.id

     它是一个文件,存储集群唯一的 cluster id 号,是一个 uuid。

7、/hbase/hbase.version

     同样也是一个文件,存储集群的版本号,貌似是加密的,看不到,只能通过web-ui 才能正确显示出来。

8、/hbase/oldWALs

这里对应0.94的.oldlogs 目录,取名为 oldWALs 是不是更好了呢!

相关推荐

硅步至千里 / 0评论 2020-04-19