HBase Meta表简介


作者: 康凯森

日期: 2016-04-03

分类: HBase


Meta表作用

我们知道HBase的表是会分割为多个Region的,不同Region分布到不同RegionServer上。Region 是 HBase中分布式存储和负载均衡的最小单元。

所以当我们从客户端读取,写入数据的时候,我们就需要知道我么数据的 Rowkey是在哪个Region的范围以及我们需要的Region是在哪个RegionServer上。

而这正是HBase Meta表所记录的信息。

Mete表的Rowkey

region所在的表名+region的StartKey+时间戳。而这三者的MD5值也是HBase在HDFS上存储的region的名字。

Mete表的列族和列

表中最主要的Family:info

info里面包含三个Column:regioninfo, server, serverstartcode。

其中regioninfo就是Region的详细信息,包括StartKey, EndKey 以及每个Family的信息等。server存储的就是管理这个Region的RegionServer的地址。

所以当Region被拆分、合并或者重新分配的时候,都需要来修改这张表的内容。

Region的定位

第一次读取: 步骤1:读取ZooKeeper中META表的位置。 步骤2:读取.META表中用户表的位置。 步骤3:读取数据。

如果已经读取过一次,则root表和.META都会缓存到本地,直接去用户表的位置读取数据。


《OLAP 性能优化指南》欢迎 Star&共建

《OLAP 性能优化指南》

欢迎关注微信公众号