三大件概念明确:
Zookeeper
保证任何时候,集群中只有一个HMaster;
实时监控HRegion Server的上线和下线信息,并实时通知给HMaster;
存储HBase的schema和table元数据;
HMaster需要知道哪些HRegionServer是活的,可用的。及HRegionServer的位置信息,以便管理HRegionServer。这些信息都有Zookeeper提供!
HMaster
理论上HMaster可以启动多个,但是Zookeeper有Master Election机制保证且允许总有且只有一个Master在运行,来负责Table和Region的管理工作。
管理HRegionServer的负载均衡,调整Region分布;
Region Split后,负责新Region的分布;
在HRegionServer停机后,负责失效HRegionServer上Region迁移工作。
Region Server
监控维护Region,处理对这些Region的响应,请求;
负责切分在运行过程中变得过大的Region。
注意:
1,Client访问hbase上数据时并不需要Hmaster参与,数据的读写也只是访问RegioneServer,
HMaster仅仅维护这table和Region的元数据信息,负载很低。
2,HBase是通过DFS client把数据写到HDFS上的
3,每一个HRegionServer