一、HBase Meta表

hbase:metab表寄存着整个集群的所有Region信息,客户端数据的读写须要定位到具体须要操作的Region,说白了就是一张字典表。meta表只会有一个Region,这是为了确保meta表屡次操作的原子性。

二、Meta表构造与内容

scan 'hbase:meta'
ROW  COLUMN+CELLhbase:namespace column=table:state, timestamp=1625022648593, value=\x08\x00hbase:namespace,,1625022647862.882bc9caea6a5cee511a1525d7801f06. column=info:regioninfo, timestamp=1625037742467, value={ENCODED => 882bc9caea6a5cee511a1525d7801f06, NAME => 'hbase:namespace,,1625022647862.882bc9caea6a5cee511a1525d7801f06.', STARTKEY => '', ENDKEY => ''}hbase:namespace,,1625022647862.882bc9caea6a5cee511a1525d7801f06. column=info:seqnumDuringOpen, timestamp=1625037742467, value=\x00\x00\x00\x00\x00\x00\x00\x0Ahbase:namespace,,1625022647862.882bc9caea6a5cee511a1525d7801f06. column=info:server, timestamp=1625037742467, value=10.2.31.104:16020hbase:namespace,,1625022647862.882bc9caea6a5cee511a1525d7801f06. column=info:serverstartcode, timestamp=1625037742467, value=1625037620770hbase:namespace,,1625022647862.882bc9caea6a5cee511a1525d7801f06. column=info:sn, timestamp=1625037742238, value=10.2.31.104,16020,1625037620770hbase:namespace,,1625022647862.882bc9caea6a5cee511a1525d7801f06. column=info:state, timestamp=1625037742467, value=OPEN search_table column=table:state, timestamp=1625037955888, value=\x08\x00search_table,,1625037955174.f507364ab62a42cfe702c6b3dea8757c. column=info:regioninfo, timestamp=1625037955882, value={ENCODED => f507364ab62a42cfe702c6b3dea8757c, NAME => 'search_table,,1625037955174.f507364ab62a42cfe702c6b3dea8757c.', STARTKEY => '', ENDKEY => ''}search_table,,1625037955174.f507364ab62a42cfe702c6b3dea8757c. column=info:seqnumDuringOpen, timestamp=1625037955882, value=\x00\x00\x00\x00\x00\x00\x00\x02search_table,,1625037955174.f507364ab62a42cfe702c6b3dea8757c. column=info:server, timestamp=1625037955882, value=10.2.31.104:16020search_table,,1625037955174.f507364ab62a42cfe702c6b3dea8757c. column=info:serverstartcode, timestamp=1625037955882, value=1625037620770search_table,,1625037955174.f507364ab62a42cfe702c6b3dea8757c. column=info:sn, timestamp=1625037955648, value=10.2.31.104,16020,1625037620770search_table,,1625037955174.f507364ab62a42cfe702c6b3dea8757c. column=info:state, timestamp=1625037955882, value=OPEN

三、Meta表组成阐明

3.1 Rowkey组成
meta表中的一个Rowkey就代表了一个region。Rowkey次要由以下几局部组成:

3.1.1.TableName(业务表名)
3.1.2.StartRow(业务表Region区间的起始rowkey)
3.1.3.Timestamp(Region创立的工夫戳)
3.1.4.EncodedName(下面3个字段的MD5 Hex值)4个字段拼接而成

Rowkey:search_table,,1625037955174.f507364ab62a42cfe702c6b3dea8757c.TableName: search_table为表名称。StartRow: StartRow缺失Timestamp: 1625037955174EncodedName: 1625037955174.f507364ab62a42cfe702c6b3dea8757c.
3.2 Column组成
每一行数据又分为6列,不同版本列个数不一样,次要列为以下四个:

3.2.1 info:regioninfo

Value次要存储4个信息,即EncodedName、RegionName、Region的StartRow、Region的StopRow```{ENCODED => f507364ab62a42cfe702c6b3dea8757c, NAME => 'search_table,,1625037955174.f507364ab62a42cfe702c6b3dea8757c.', STARTKEY => '', ENDKEY => ''}```

3.2.2 info:seqnumDuringOpen

Value次要存储Region关上时的sequenceId```\x00\x00\x00\x00\x00\x00\x00\x02```

3.2.3 info:server

Value次要存储Region落在哪个RegionServer上```10.2.31.104:16020```

3.2.4 info:serverstartcode

Value次要存储所在RegionServer的启动Timestamp```1625037620770```