HBase 在HDFS上的物理目录结构

我怕爱的太早我们不能终老 提交于 2020-05-06 01:05:56

根目录 配置项 <name> hbase.rootdir</name> 默认 “/hbase”

根级文件

/hbase/WALs

被HLog实例管理的WAL文件。

/hbase/WALs/data-hbase.com,60020,1443159380730

对于每个HregionServer,日志目录中都包含一个对应的子目录

hbase/WALs/data-hbase.com,60020,1443159380730/data-hbase.com%2C60020%2C1443159380730.1443787240573

在每个子目录下有多个HLog文件(因为日志滚动)

/hbase/oldWALs

当/hbase/WALs 中的HLog文件被持久化到存储文件中,不再需要日志文件时,它们会被移动到/hbase/oldWALs目录。

/hbase/oldWALs/data-hbase.com%2C60020%2C1443159381290.1443787452518

具体的oldWALs文件。

/hbase/hbase.id

集群的唯一ID

/hbase/hbase.version

集群的文件格式版本信息

/hbase/corrupt

损坏的日志文件,一般为空

/hbase/archive/

存储表的归档和快照,HBase 在做 Split或者 compact 操作完成之后,会将 HFile 移到archive 目录中,然后将之前的 hfile 删除掉,该目录由 HMaster 上的一个定时任务定期去清理。 存储表的归档和快照具体目录: /hbase/archive/data/default/表名/region名/列族名/fd2221d8d1ae4e579c21882f0ec4c5a5

/hbase/.tmp

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

/hbase/data

hbase存储数据的核心目录

/hbase/data/hbase

该目录存储了存储了 HBase 的 namespace、meta 和acl 三个系统级表。 namespace 中存储了 HBase 中的所有 namespace 信息,包括预置的hbase 和 default。acl 则是表的用户权限控制。

  • /hbase/data/hbase/meta
  • /hbase/data/hbase/namespace
  • /hbase/data/hbase/acl

/hbase/data/default/

该目录存储所有用户数据表 /hbase/data/default/表名

============================================================================ 表目录

/hbase/data/default/表名/.tabledesc

表的元数据信息

/hbase/data/default/PERFORMANCE_TEST/.tabledesc/.tableinfo.0000000008

表的元数据信息具体文件

/hbase/data/default/表名/.tmp

中间临时数据,当.tableinfo被更新时该目录就会被用到

/hbase/data/default/表名/f569a17359edb2250cdf07964be606a7(由region的表名+Start Key+时间戳产生的hashcode)

表中每一个region的目录 region 目录

/hbase/data/default/表名/region名/.regioninfo

包含了对应region的HRegionInfo的序列化信息,类似.tableinfo。hbase hbck 工具可以用它来生成丢失的表条目元数据

/hbase/data/default/表名/region名/列族名

每个列族的所有实际数据文件

/hbase/data/default/表名/region名/列族名/文件名

hbase实际数据文件

/hbase/data/default/表名/region名/.tmp(按需创建)

存储临时文件,比如某个合并产生的重新写回的文件。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!