HBase 在HDFS上的物理目錄結構


根目錄
配置項 hbase.rootdir 默認 “/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(按需創建)

存儲臨時文件,比如某個合並產生的重新寫回的文件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM