2.7 HBase架构深入剖析

一、

1、client

整个HBase集群的访问入口;

使用HBase RPC机制与HMaster和HRegionServer进行通信;

与HMaster进行通信进行管理类操作;

与HRegionServer进行数据读写类操作;

包含访问HBase的接口,并维护cache来加快对HBase的访问

2、zookeeper

保证任何时候,集群中只有一个HMaster;

存贮所有HRegion的寻入口;

实时监控HRegion Server的上线和下线信息,并实时通知给HMaster;

存储HBase的schema和table元数据;

Zookeeper Quorum存储-ROOT-表地址、HMaster地址。

3、master

>HMaster没有单点问题,HBase中可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master在运行主要负责Table和Region的管理工作。

>管理用户对table的增删改查操作;

>管理HRegionServer的负载均衡,调整Region分布;

>Region Split后,负责新Region的分布;

>在HRegionServer停机后,负责失效HRegionServer上Region迁移工作

4、HRegion Server

维护HRegion,处理对这些HRegion的IO请求,向HDFS文件系统中读写数据;

负责切分在运行过程中变得过大的HRegion。

Client访问hbase上数据的过程并不需要master参与(寻址访问Zookeeper和HRegion Server,数据读写访问HRegione Server),
HMaster仅仅维护者table和Region的元数据信息,负载很低。

5、HBase & zookeeper

◆HBase 依赖ZooKeeper;

◆默认情况下,HBase管理ZooKeeper实例(指hbase自带的zk),比如,启动或者停止ZooKeeper;

◆HMaster与HRegionServers启动时会向ZooKeeper注册;

◆Zookeeper的引入使得HMaster不再是单点故障。

image

原文地址:https://www.cnblogs.com/weiyiming007/p/10906595.html