1.4 Hbase 中的各个组件
整体架构
在 Hbase 中有两种服务器:
Master 服务器
RegionServer 服务器
一般一个 HBase 集群有一个 Master 服务器和几个 RegionServer 服务器。
另外, HBase 有一点很特殊:
客户端获取数据由客户端直连 RegionServer 的,所以你会发现Master挂掉之后你依然可以查询数据,但就是不能新建表了。
RegionServer 是直接负责存储数据的服务器。RegionServer 保存的表数据直接存储在 Hadoop 的 HDFS 上, 所以架构如下
RegionServer 非常依赖 ZooKeeper 服务,可以说没有 ZooKeeper 就没有 HBase。
ZooKeeper 在 HBase 中扮演的角色类似一个管家。ZooKeeper 管理了 HBase 所有RegionServer 的信息,包括具体的数据段存放在哪个 RegionServer 上。
客户端每次与 HBase 连接,其实都是先与 ZooKeeper 通信,查询出哪个RegionServer 需要连接,然后再连接 RegionServer。因此,以上的架构又可以拓展成如下所示: