搜索
大数据中国 首页 大数据技术 数据库 查看内容
HBase的目录结构
2013-10-29 00:25 |来自: 看引擎| 查看: 7303| 评论: 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,我们会及时删除

最新评论

关闭

站长推荐上一条 /1 下一条

大数据中国微信

QQ   

版权所有: Discuz! © 2001-2013 大数据.

GMT+8, 2024-11-21 18:06 , Processed in 0.076761 second(s), 23 queries .

返回顶部