HBase体系结构01(Catalog Tables)

目录表hbase:meta存在于HBase表中,在HBase shell中list命令中会过滤掉,但实际和普通表无任何区别。

1 -ROOT-

-ROOT-表在HBase 0.96后被移除。

-ROOT-表记录.META.表位置(现在叫hbase:meta),-ROOT-表结构如下:

key

  • .MeTA. region key (.META.,,1)

Values

  • info:regioninfo (.META.表中可序列化HRegionInfo实例)
  • info:server (.META.表所在RegionServer,格式server:port)
  • info:serverstartcode (RegionServer进程持有.META.表起始时间)

2 hbase:meta

hbase:meta表维持系统中所有regions列表,hbase:meta表位置记录在ZooKeeper中,hbase:meta表结构如下:

key

  • 格式化后的Region key ([table],[region start key],[region id])

Values

  • info:regioninfo (此region可序列化HRegionInfo实例)
  • info:server (此region所在RegionServer,格式server:port)
  • info:serverstartcode (RegionServer进程持有此region起始时间)

当一个表正处于splitting时,额外的两个columns将会被创建,称之info:splitA和info:splitB,这些列代表两个子region,这些列的值也被序列化为HRegionInfo实例。region分裂完毕后,最后这一行被删除。

3 启动顺序

首先,hbase:meta的位置从ZooKeeper中查找,然后hbase:meta更新server和startcode的值。

4 小结

由于以前-ROOT-表始终只有一个region,现在直接用Zookeeper替换合情合理,一个Put操作流程大致是这样:

table.Put(rowkey),由此可见,要找到table和rowkey:

Zookeeper–>定位hbase:meta–>查找hbase:meta,找到对应rowkey(通过table,regions tart key)–>通过该rowkey取info:server值–>得到对应表regionserver–>交互

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值