meta作用
因为HBase是分布式的,一张表会被分成很多个Region分布在不同的RegionServer上
所以我们在增删改查的时候要知道这一条数据是对应哪个Region中?这个Region在哪个RegionServer中?这些元数据都是保存在meta表中
因为meta表也是HBase的表,所以这张表必定也会存在某个RegionServer中,meta表保存在哪个RegionServer这个信息就是在ZK中了
meta表结构
- meta表只有一个列簇info,列簇中有四个列
| 列 | 作用 |
|---|---|
| info:regioninfo | 包括md5值,region名称,起始rowkey,结束rowkey |
| info:seqnumDuringOpen | region打开时的sequenceId |
| info:server | 这个region是存在哪个regionserver上的 |
| info:serverstartcode | RegionServer的启动timestamp |
rowkey构成:表明+start rowkey+region创建时间戳+前三个字段的md5值
实例如下
hb_cost_credit_details,3581|,1495551480036.05a311f6fba35188d4b92013db635e6d. column=info:regioninfo, timestamp=1495551480826, value={ENCODED => 05a311f6fba35188d4b92013db635e6d, NAME => 'hb_cost_credit_details,3581|,1495551480036.05a311f6fba35188d4b92013db635e6d.', STARTKEY => '3581|', ENDKEY => '3670|'}hb_cost_credit_details,3581|,1495551480036.05a311f6fba35188d4b92013db635e6d. column=info:seqnumDuringOpen, timestamp=1620114614970, value=\x00\x00\x00\x00\x00\x0CO\xA4hb_cost_credit_details,3581|,1495551480036.05a311f6fba35188d4b92013db635e6d. column=info:server, timestamp=1620114614970, value=uhadoop-wlpw5a-core24:60020hb_cost_credit_details,3581|,1495551480036.05a311f6fba35188d4b92013db635e6d. column=info:serverstartcode, timestamp=1620114614970, value=1619625746765
