meta作用

  1. 因为HBase是分布式的,一张表会被分成很多个Region分布在不同的RegionServer上

  2. 所以我们在增删改查的时候要知道这一条数据是对应哪个Region中?这个Region在哪个RegionServer中?这些元数据都是保存在meta表中

  3. 因为meta表也是HBase的表,所以这张表必定也会存在某个RegionServer中,meta表保存在哪个RegionServer这个信息就是在ZK中了

meta表结构

  1. meta表只有一个列簇info,列簇中有四个列
作用
info:regioninfo 包括md5值,region名称,起始rowkey,结束rowkey
info:seqnumDuringOpen region打开时的sequenceId
info:server 这个region是存在哪个regionserver上的
info:serverstartcode RegionServer的启动timestamp
  1. rowkey构成:表明+start rowkey+region创建时间戳+前三个字段的md5值

  2. 实例如下

    1. 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|'}
    2. hb_cost_credit_details,3581|,1495551480036.05a311f6fba35188d4b92013db635e6d. column=info:seqnumDuringOpen, timestamp=1620114614970, value=\x00\x00\x00\x00\x00\x0CO\xA4
    3. hb_cost_credit_details,3581|,1495551480036.05a311f6fba35188d4b92013db635e6d. column=info:server, timestamp=1620114614970, value=uhadoop-wlpw5a-core24:60020
    4. hb_cost_credit_details,3581|,1495551480036.05a311f6fba35188d4b92013db635e6d. column=info:serverstartcode, timestamp=1620114614970, value=1619625746765