hbase数据流架构

上文讲解了hbase的列存储的概念,接着本节讲解hbase的架构。

hbase主要组件:

Hbase 主要包含四个主要组件,如下图:

1、HMaster(主服务器、主节点)

2、Region Server(区域服务器)

3、Region(区域)

4、Zookeeper(集中式监控服务器)

hbase架构

HMaster(主服务器、主节点)

1、主服务器节点监控hbase集群当中存在的Region Server集合

2、 在分布式集群环境中,Hmaster协调和管理Region Server,类似于NameNode 在HDFS 中管理DataNode。

3、它还执行数据定义语言(DDL) 操作,例如创建和删除表并将任务分配给 Region 服务器。

4、它控制区域服务器的高可用,提供故障转移,并在区域服务器节点关闭时执行恢复动作。

5、HMaster 负责根据客户端请求,修改一些架构配置或元数据操作等。

6、它还执行一些管理任务,例如负载平衡、创建、更新、删除表等。

Region Server(区域服务器)

1、Region server 负责服务和管理区域。

2、它是集群中的一个工作节点,处理从客户端收到的读、写、更新和删除请求。

3、区域服务器的主要任务是将数据存储到区域中并执行从客户端应用程序接收到的请求。

4、 Region Server 在 HDFS (datanode)数据节点上运行时有以下组件:

        4.1、块缓存读取,经常使用的块数据存储在读取缓存当中

        4.2、写入缓存(MemStore)、它是内存缓存,用于提升hbase的读写性能,这里注意每一个列族在区域节点都有一个写入缓存块,当满足一定条件时 MemStore 会执行一次 flush,文件系统中生成新的 HFile。

        4.3、预写日志(WAL) 是一个文件,用于存储刚刚写入未持久化到存储的新数据。

Region(区域)

1、Region是HBase集群的基本构建元素。

2、它只不过是表被拆分在区域服务器上。

3、区域主要包含两个组件,Memstore和Hfile,前者是写入缓存块,后者是数据硬盘存储所在的区域(StoreFiles),如下图:

hbase架构

Zookeeper(集中式监控服务器)

1、ZooKeeper 是一个集中式监控服务器,维护配置信息、命名、提供分布式同步等。

2、它跟踪 HBase 集群中的所有区域服务器的信息,例如,有多少区域服务器以及哪些区域服务器持有哪个 hdfs的DataNode。

3、 Zookeeper 提供的主要服务包括:

  1. 3.1、与区域服务器建立客户端通信。

  2. 3.2、跟踪服务器故障和网络分区。

  3. 3.3、维护配置信息