HBase的老大是HMaster,小弟是HRegionServer(类似于HDFS中的NodeManager,有多个,保证安全,通过Zookeeper进行协调),HBase数据存储的最小单元是region,Table 在行的方向上分割为多个HRegion,一个region由[startkey,endkey)表示,每个HRegion分散在不同的RegionServer中。
HBase中有两张特殊的table,hbase:namespace和hbase:meta,其中,hbase:namespace种只有一个region,保存的是hbase:meta的region信息,而hbase:meta中记录了用户创建的表的region信息,且hbase:meta中可以有多个region信息。
client的访问流程:client首先访问的是zookeeper,zookeeper中保存了hbase:namespace的位置信息,由此来访问hbase:namespace表,由namespace表获得并访问hbase:meta表,并从中找到用户region的位置去访问。如下图所示。