HBase的目录结构
2013-10-29 00:25 |来自: 看引擎|
查看: 7308|
评论: 0
第一部分文件是被Hlog处理的write-ahead日志文件,这些日志文件被保存在HBase根目录下的.logs文件夹。.logs目录下面为每一
个HRegionServer单独创建一个文件夹,每一个文件夹下有几个HLog文件(因为log
rotation)。每一个HRegionServer的所有region都共享一个HLog文件。 当一个日志文件不再需要时(因为其包含的 “编辑信息”都已经持久化保存到store files),该日志文件会被保存到数据库根目录下.oldlogs文件夹。.oldlogs目录下的文件在10分钟后会被master删除(该时间可以 由hbase.master.logcleaner.ttl参数设置)。Master会每隔一分钟(该时间可以由 hbase.master.cleaner.interval参数设置)检查这些旧日志文件。 第二部分文件是hbase.id和hbase.version文件,hbase.id记录了集群的唯一标识;hbase.version记录了文件格式的版本号。 第三部分,随着时间的增长,在根目录下还会产生一些其他目录。split和.corrupt目录在日志分裂过程中使用,以便保存一些中间结果和损坏的日志。 表级文件(Table-level files) HBase的每一张表在根目录下都有一个单独的文件夹(在这里我们称为表目录)。在表目录下有一个命名为.tableinfo的文件,该文件保存了该表 所对应的已经序列化的HTableDescriptor。HTableDescriptor包含了表和column family模式。除了.tableinfo之外,还有.tmp目录。.tmp目录有很多作用,举例来说,需要在.tableinfo更新过程中被使用。 域级文件(Region-level files) 在表目录下,为该表的每一个region单独创建一个目录,目录的名字为region name的MD5哈希值。整个的目录结构如下所示: /<hbase-root-dir>/<tablename>/<encoded-regionname>/<column-family>/<filename> 在每一个column-family目录下保存着真正的数据文件。这些数据文件以随机数来命名,由Java内置的随机数生成器产生。HBase程序非常智能,可以发现随机数重复,以防止命名重复;直到找到未使用的随机数为止。 region目录包含.regioninfo文件,该文件包含了该region所对应的HRegionInfo所对应的经过序列化的信息。除了该文件之外,还有一个可选的目录.tmp会随着需求的出现被创建,例如在合并过程中重写文件。 |
免责声明:
除非特别声明,文章均为投稿或网络转载,仅代表作者观点,与大数据中国网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。如果本文内容有侵犯你的权益,请发送信息至ab12-120@163.com,我们会及时删除
上一篇:数据库测试不可或缺,你知道吗?
下一篇:大数据和Hadoop十大不脱轨秘诀
最新评论
最新新闻
最新新闻
要闻推荐
要闻推荐
今日视点
今日视点