HBase表在HDFS上的目录结构

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

/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。

Hbase UI 60010展示表结构如下

HLog的HDFS目录结构如下

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

xx

xx

发布了131 篇原创文章 · 获赞 79 · 访问量 31万+

猜你喜欢

转载自blog.csdn.net/qq_31780525/article/details/100162004