一. 客户端client
- List item 整个HBase 集群的访问入口 ;
- 使用HBase RPC 机制 与 HMaster 和 HRegionServer 进行通信;
- 与HMaster 进行通信进行管理类操作;
- 与HRegionServer 进行数据读写类操作;
- 包含访问HBase 的接口 并维护Cache 来加快对于HBase 的访问
二.协调工具zookeeper
- 保证任何时候集群中只有一个master;
- 存储所有HRegion的寻址入口
- 实时监控HRegion Server 的上线和下线信息,并实时通知给HMaster;
- 存储HBase 的schema和table 元数据
- 主节点存储meta表数据,HMaster 地址
三.主节点Master
- HMater 没有单点问题,HBase 中可以启动多个HMaster 通过Zookeeper 的MasterElection 机制保证总有一个Master 在运行,主要负责Table 和Region 的管理工作。
- 管理用户对table的增删改查操作;
- 管理HRegionServer 的负载均衡,调整Region分布;
- Region Split 后,负责新Region的分布;
- 在HRegionServer 停机后负责失效HRegionServer 上Region迁移工作。
四 .HRegionServer
- 维护HRegion 处理对这些HRegion 的IO请求,向HDFS文件系统中读写数据
- 负责切分在运行过程中变得过大的region
- Client访问hbase上数据的过程中不需要mster 参与 (寻址访问Zookeeper和HRegion Server,数据读写访问HRegion Server)HMaster 仅仅维护者table 和region的元数据信息,负载很低。