HBase表在HDFS上的目錄結構

2021-09-26 16:00:57 字數 1364 閱讀 6650

程序按角色分為master和regionserver,其中master負責ddl操作,比如建表、刪表,而regionserver負責dml操作,比如資料的讀寫操作等。從資料檢視上講,hbase中的table會按range切分為多個region,然後由不同的regionserver來負責對外提供服務。

regionserver的內部則主要有blockcache,memstore和wal等幾部分組成,需要注意的是每個region的每個column family有自己獨享的memstore,但是blockcache和wal則是多個region共享的。wal(write-ahead logging)是資料庫中的常用技術,所有的修改在寫入資料庫之前都需要持久化到wal中,從而確保了在出現故障的時候,可以從wal中回放出已經成功寫入的資料。

hbase表在hdfs上的目錄結構

/(集群裡的namespaces)

/(該集群的tables)

/(該table的regions)

/(該region的列族)

/(該列族的storefiles)

值得注意的是乙個store對應乙個列族f

region由乙個或者多個store組成,每個store儲存乙個 columnsfamily;每個strore又由乙個memstore和0至多個storefile組成,storefile就是對hfile的輕量級封裝;memstore儲存在記憶體中,storefile儲存在hdfs上。

hbase中keyvalue資料的儲存格式,hfile是hadoop的二進位制格式檔案,實際storefile就是對hfile做了輕量級包裝,即storefile底層就是hfile。

hbase ui 60010展示表結構如下

hlog的hdfs目錄結構如下

/hbase

/wals

/(regionservers)

/(wal files for the regionserver)

xx

xx

shell遍歷hdfs上的檔案目錄

背景 需要批量把hdfs上某個目錄中的所有以.pending 結尾的檔案,去掉.pending字尾。主要原因是建立的hive外表無法讀取.tmp或.pending的檔案,所以需要去掉字尾。hdfs上檔案的結構是根目錄 data test flink ttengine predict 下有dt 201...

shell 遍歷 hdfs上的檔案目錄

背景 需要批量把hdfs上某個目錄中的所有以.pending 結尾的檔案,去掉.pending字尾。主要原因是建立的hive外表無法讀取.tmp或.pending的檔案,所以需要去掉字尾。hdfs上檔案的結構是根目錄 data test flink ttengine predict 下有dt 201...

hbase 預設目錄 HBase的目錄分析

hbase tmp 臨時目錄,當對表做建立和刪除操作時,會將表move到該目錄下,然後進行操作。hbase wals regionserver在處理資料插入和刪除的過程中記錄操作內容的一種日誌,在0.94叫.logs hbase data 核心目錄,儲存hbase表的資料 預設情況下該目錄下有兩個目...