目录表是指作为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)的值。

本文介绍了HBase中的两个特殊表-ROOT-和.META.。-ROOT-表记录了.META.表的位置信息,而.META.表则存储了所有region的列表。文章详细解释了这两个表的结构和作用,并探讨了它们在启动过程中的交互。
164

被折叠的 条评论
为什么被折叠?



