HBASE 表在HDFS目录结构

2020-07-03 11:50:48 浏览数 (1)

进程按角色分为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上的目录结构

imgimg

/hbase /data /<Namespace> (集群里的Namespaces) /<Table> (该集群的Tables) /<Region> (该table的Regions) /<ColumnFamily> (该Region的列族) /<StoreFile> (该列族的StoreFiles)

值得注意的是 一个Store对应一个列族f。

Region由一个或者多个Store组成,每个store保存一个 columnsfamily;每个Strore又由一个memStore和0至多个StoreFile组成,StoreFile就是对HFile的轻量级封装;memStore存储在内存中,StoreFile存储在HDFS上。

HBase中KeyValue数据的存储格式,HFile是Hadoop的二进制格式文件,实际StoreFile就是对HFile做了轻量级包装,即StoreFile底层就是HFile。

imgimg

Hbase UI 60010展示表结构如下

imgimg
imgimg

HLog的HDFS目录结构如下

/hbase /WALs /<RegionServer> (RegionServers) /<WAL> (WAL files for the RegionServer)

imgimg

0 人点赞