每个region都保存着一个HTable表的一个rowkey区间的数据,而每个HRegion Server都维护着HMaster Server分配个它的一些regions(默认情况下10 - 1000个,每个region大小默认为256MB),那么客户端到底是怎么通过一个给定的rowkey就知道要匹配的数据是在哪个服务器上的哪个region上的呢?谜底就是,HBase通过提供了2个特殊的叫做-ROOT-和.META.的目录表(catalog table)来支持这一region查找的。
Zookeeper中存储着-ROOT-和.META.表的位置。.META.表里保存的是HRegion标识符和HRegion Server服务器的映射,该表会随着数据的增长而变大,并且也会被分割;为了定位这些.META.region,HBase使用-ROOT-表来存储这些.META.表的位置信息,-ROOT-表不会被分割,整个HBase集群中只有唯一的一个。
这两个目录表在结构上和普通的HTable表没什么区别,就是这两个表的用处特殊,而且是由系统维护其中的数据——Region的分布情况以及每个Region的详细信息。
-ROOT-表结构大致如下所示:
由上图可以看到,-ROOT-表中的每一行都记录而一个HTable的region和该region所在的HRegin Server的地址的信息;该表是唯一的,并且永远不会被分割,这保证了region查询是一个类似B+Tree的3级的查找模式:
1、第一级就是Client到Zookeeper中获取-ROOT-表的地址;
2、第二级就是Client从-ROOT-表中请求rowkey所属的.META.region的位置;
3、第三级就是Client从.META.表中查找到rowkey所在的region的HRegion Server位置。
在经过这三步操作后,我们就可定位到要查询的rowkey所在的HRegion Server,然后客户端直接连接这个HRegion服务器,在rowkey所属的region上查询数据。整个流程如下图所示:
客户端查询流程示意图
- 大小: 35.4 KB
- 大小: 125.5 KB
分享到:
相关推荐
hbase权威指南中文完整版pdf 12章+6附录
hbase权威指南源码
hbase权威指南,hadoop,spark,hbase设计,hbase权威指南-完整版
《hbase权威指南》探讨了如何通过使用与hbase高度集成的hadoop将hbase的可伸缩性变得简单;把大型数据集分布到相对廉价的商业服务器集群中;使用本地java客户端,或者通过提供了rest、avro和thrift应用编程接口的...
Hbase权威指南 随书源代码 源码包 绝对完整版 maven工程,带pom文件,可以直接作为一个完整工程导入eclipse等ide。
作为google bigtable架构的开源实现,hbase能够支持数以十亿计的记录数和数以百万计的字段,与此同时它还能够保证常量级的读写性能。很多it管理层正在质疑hbase。而这本书提供了很多有意义的答案,无论你是否正在...
HBase权威指南中文版
HBase权威指南,完整高清版。本书探讨了如何通过使用与HBase高度集成的Hadoop将HBase的可伸缩性变得简单;
《hbase权威指南》随书示例源代码.方便学习
hbase权威指南中文版hbase权威指南中文版hbase权威指南中文版 hbase权威指南中文版hbase权威指南中文版hbase权威指南中文版
Hbase 学习 资料 英文 Hbase权威指南 PDF
《HBase权威指南》探讨了如何通过使用与HBase高度集成的Hadoop将HBase的可伸缩性变得简单;把大型数据集分布到相对廉价的商业服务器集群中;使用本地Java客户端,或者通过提供了REST、Avro和Thrift应用编程接口的...
Hbase权威指南中文版 带目录 人民邮电出版社 Hbase权威指南中文版 带目录 人民邮电出版社
Hbase权威指南英文版
HBase权威指南(中文版) 高清指南,想要的可以看看,~~~
HBase权威指南中文版.pdf ,深入学习HBase
hbase权威指南英文原版,带有书签目录。