hbase集群架构如下图所示:
一、Zookeeper集群的职责:
1、负责监控整个hbase集群中的节点的状态和通信,包括保证任意时刻均hbase cluster中有一个处于活动状态的HMaster Server;实时监控HRegion Server的状态,包括当机、上线和下线,将该状态通知给HMaster。
2、管理hbase 集群的-ROOT-表,即所有HRegion Server的地址和HTable信息。
二、HMaster Server的职责:
1、为HRegion server分配HRegion。
2、负责HRegion Server的负载均衡,避免热点HRegion Server;
3、当有HRegion server失效时,由HMaster负责重新分配其上的HRegion,并对其上的HLog中的数据做处理。
三、HRegion Server的职责:
1、负责维护HMaster分配的HRegin,响应客户端的请求,包括增、删、改、查等操作。
2、负责管理.META.表中的数据,该表中包含当前HRegion Server上HRegion的相关信息;
3、负责region的切分,并将相关region切分信息更新到.META.表中。
四、Client端
包含访问hbase集群的接口,维护一个包含一些集群的HTable信息的cache以加快对hbase的访问,减少客户端和集群之间的交互,提高访问速度。