HBase 系统遵循 Master/Salve 架构,由三种不同类型的组件组成:

client

  1. 提供了访问hbase的接口
  2. 提供cache缓存提高访问hbase的效率 , 比如region的信息
    Zookeeper
  3. 保证任何时候,集群中只有一个 Master;
  4. 存储所有 Region 的寻址入口;
  5. 实时监控 Region Server 的状态,将 Region Server 的上线和下线信息实时通知给 Master;
  6. 存储 HBase 的 Schema,包括有哪些 Table,每个 Table 有哪些 Column Family 等信息。

Master/master

  1. 为 Region Server 分配 Region;
  2. 负责 Region Server 的负载均衡 ;
  3. 发现失效的 Region Server 并重新分配其上的 Region;
  4. GFS 上的垃圾文件回收;
  5. 处理 Schema 的更新请求

Region Server

  1. Region Server 负责维护 Master 分配给它的 Region ,并处理发送到 Region 上的 IO 请求;
  2. Region Server 负责切分在运行过程中变得过大的 Region