Client:
包含访问hbase的接口,client维护着一些cache来加快对hbase的访问,比如region的位置信息。
zookeeper:
H'ba'se可以使用内置的zookeeper,也可以使用外置的,在实际生产环境中,为了保持统一性,一般使用外置zookeeper。
Zookeeper在Hbasee中的做用:
1.保证任何时候,集群中只有一个master
2.存储所有Region的寻址入口。
3.实时监控Region Server的状态,将Region server的上线和下线信息实时通知给Master
HMaster:
1.为Region Server分配region
2.负责region server的负载均衡
3.发现失效的region server并重新分配其上的region
4.HDFS上的垃圾文件回收
5.处理schema更新请求
HMaster仅仅维护table和HRegion的元数据信息,负载很低。
HRegion Server:
1.HRegion Server维护Hmaster分配给他的region,处理对这些region的Io请求
2.HRegion server 负责切分在运行过程中变得过大的region,从图中看client访问HBase上数据的过程并不需要HMaster参与。(寻址访问zookeeper和HRegion server,数据读写访问HRegion server)