9.2 目录表

目录表是指作为HBase数据表存在的两个特殊的数据表-ROOT-和.META.。在使用HBase shell的list命令时,这两个表会被过滤掉,但事实上,它们就像其他的数据表一样。

9.2.1 ROOT

-ROOT-记录.META.表的位置,它的表结构如下:

键:

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

值:

  • info:regioninfo (serialized HRegionInfo instance of .META.)
  • info:server (server:port of the RegionServer holding .META.)
  • info:serverstartcode (start-time of the RegionServer process holding .META.)

9.2.2 META

.META.表存储系统中所有region的列表,它的表结构如下:

键:

  • Region key of the format ([table],[region start key],[region id])

值:

  • info:regioninfo (serialized HRegionInfo instance for this region)
  • info:server (server:port of the RegionServer containing this region)
  • info:serverstartcode (start-time of the RegionServer process containing this region)

当一个表处于分裂过程时会创建另外的两个列,info:splitA和info:splitB代表该region的两个子女。这些列的值时序列化的HRegionInfo实例。在region分裂结束后,原来的行会被删除掉。

HRegionInfo的注意事项:空的键用于记录表的开始和结束。以一个空的键未开始的region是表的第一个region。如果一个表既以空的键开始又以空的键结束,说明该表仅有一个region。

9.2.3 启动顺序

首先,ROOT将记录META的位置,之后META更新服务器(server)及起始码(startcode)的值。


http://hbase.apache.org/book/arch.catalog.html

你可能感兴趣的:(9.2 目录表)