HBase架构简介

本文介绍了HBase的架构,包括Client、Zookeeper、HMaster、HRegionServer和HDFS的角色与功能。HMaster负责Region分配、负载均衡,而HRegionServer直接处理用户读写请求。Write-Ahead logs确保数据安全性,Region是表的分片,存储在Store中,以HFile形式存在于HDFS。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、HBase架构

HBase架构图如下:

 

     从图中可以看出 Hbase 是由 Client、Zookeeper、Master、HRegionServer、HDFS 等
几个组件组成,下面来介绍一下几个组件的相关功能:

1 )Client

  •  Client 包含了访问 Hbase 的接口,另外 Client 还维护了对应的 cache 来加速 Hbase 的访问,比如 cache 的.META.元数据的信息。

2 )Zookeeper
      HBase 通过 Zookeeper 来做 master 的高可用、RegionServer 的监控、元数据的入口以及
集群配置的维护等工作。具体工作如下:

  • 通过 Zoopkeeper 来保证集群中只有 1 个 master 在运行,如果 master 异常,会通过竞争机制产生新的 master 提供服务
  • 通过 Zoopkeeper 来监控 RegionServer 的状态,当 RegionSevrer 有异常的时候,通过回调的形式通知 Master RegionServer 上下线的信息
  • 通过 Zoopkeeper 存储元数据的统一入口地址

3 )Hmaster
   master 节点的主要职责如下:

  • 为 RegionServer 分配 Region
  • 维护整个集群的负载均衡
  • 维护集群的元数据信息
  • 发现失效的 Region,并将失效的 Region 分配到正常的 RegionServer 上
  • 当 RegionSever 失效的时候,协调对应 Hlog 的拆分

4 )HregionServer
HregionServer 直接对接用户的读写请求,是真正的“干活”的节点。它的功能概括如下:

  • 管理 master 为其分配的 Region
  • 处理来自客户端的读写请求
  • 负责和底层 HDFS 的交互,存储数据到 HDFS
  • 负责 Region 变大以后的拆分
  • 负责 Storefile 的合并工作

5 )HDFS
HDFS 为 Hbase 提供最终的底层数据存储服务,同时为 HBase 提供高可用(Hlog 存储在HDFS)的支持,具体功能概括如下:

  • 提供元数据和表数据的底层分布式存储服务数据多副本,保证的高可靠和高可用性

二、HBase  中的角色

2.1 HMaster功能

1.监控 RegionServer
2.处理 RegionServer 故障转移
3.处理元数据的变更
4.处理 region 的分配或转移
5.在空闲时间进行数据的负载均衡
6.通过 Zookeeper 发布自己的位置给客户端

2.2 RegionServer功能

1.负责存储 HBase 的实际数据
2.处理分配给它的 Region
3.刷新缓存到 HDFS
4.维护 Hlog
5.执行压缩
6.负责处理 Region 分片

2.3 Write-Ahead logs功能

HBase 的修改记录,当对 HBase 读写数据的时候,数据不是直接写进磁盘,它会在内存中保留一段时间(时间以及数据量阈值可以设定)。但把数据保存在内存中可能有更高的概率引起数据丢失,为了解决这个问题,数据会先写在一个叫做 Write-Ahead logfile 的文件中,然后再写入内存中。所以在系统出现故障的时候,数据可以通过这个日志文件重建。

2.4 Region

Hbase表的分片,HBase表会根据RowKey值被切分成不同的region存储在RegionServer中,在一个 RegionServer 中可以有多个不同的 region。

2.5 Store

HFile 存储在 Store 中,一个 Store 对应 HBase 表中的一个列族。

2.6 MemStore

顾名思义,就是内存存储,位于内存中,用来保存当前的数据操作,所以当数据保存在WAL 中之后,RegsionServer 会在内存中存储键值对。

2.7 HFile

这是在磁盘上保存原始数据的实际的物理文件,是实际的存储文件。StoreFile 是以 Hfile的形式存储在 HDFS 的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值