HBase是基于Hadoop的开源分布式数据库。体系架构为master/slave架构。主节点运行的服务称为HMaster,从节点服务称为HRegionServer,底层采用HDFS存储数据。
HMaster负责管理多个HRegionServer、恢复HReigionServer故障等。
HRegionServer负责多个区域的管理及相应客户端请求。HRegionServer还负责区域划分并通知HMster有了新的子区域。
HBase需要ZooKeeper集群服务,默认情况下,它管理一个ZooKeeper实例,作为“权威机构”。ZooKeeper会记录HMaster位置、根目录表位置等核心数据,此时若有HRegionServer崩溃,就可以用通过ZooKeeper来进行分配协调。此外,当HBaseClient连接到HBase时,其必须首先访问ZooKeeper,在获取HMaster、HRegionServer、-ROOT-等核心数据后,方可连接到HRegionServer。
Client
HBase Client使用HBase的RPC机制与HMaster和HRegionServer进行通信,对于管理类操作,Client与HMaster进行RPC;对于数据读写类操作,Client与HRegionServer进行RPC
Zookeeper
Z