开发者学堂课程【分布式数据库 HBase快速入门:HBase 架构】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/101/detail/1738
HBase 架构
内容介绍
一、HBase 架构
一、HBase 架构
HBase 架构如图所示
从图中可以看出 Hbase 由 Client 、 Zookeeper , Master 、 HRegionServer 、 HDFS 等几个组件组成。
下面来介绍一下几个组件的相关功能:
1) Client
Client 包含了访问 Hbase 的接口,另外 Client 还维护了对应的 eache 来加速 Hbase 的访问。比如 eache 的 META .元数据的信息。
2) Zookeeper .
HBase 通过 Zookeeper 来做 master 的高可用、 RegionServer 的监控、元数据的入口以及集群配置的维护等工作。
具体工作如下:
通过 Zoopkeeper 来保证集群中只有1个 master 在运行,如果 master 异常,会通过竞争机制产生新的 master 提供服务。
通过 Zoopkeeper 来监控 RegionServer 的状态,当 RegionServer 有异常的时候,通过回调的形式通知 Master RegionServer 上下线的信息。
通过 Zoopkeeper 存储元数据的统一入口地址。
3) Hmaster .
master 节点的主要职责如下:
为 RegionServer 分配 Region
维护整个集群的负载均衡
维护集群的元数据信息:
发现失效的 Region ,并将失效的 Region 分配到正常的 RegionSener 上:
当 RegionSever 失效的时候,协调对应 Hlog 的拆分。
4) HregionServer .
HrepionServer 直接对接用户的读写请求,是真正的“干活”的节点。它的功能概括如下:
管理 master 为其分配的 Region
处理来自客户端的读写请求
负责和底层 HDFS 的交互,存储数据到 HDFS :
负责 Region 变大以后的拆分:
负责 Storefile 的合并工作。
5)НDFS .
HDFS为 Hbase 提供最终的底层数据存储服务,同时为 HBase 提供高可用( Hlog 存储在 HDFS )的支持,具体功能概括如下:
提供元数据和表数据的底层分布式存储服务
数据多副本,保证的高可靠和高可用性。