HBase的RegionServer Group 特性在滴滴的应用

本文介绍了滴滴如何在HBase集群上应用RegionServer Group特性进行资源隔离和管理,以解决不同业务间相互影响的问题。通过将RegionServer分为多个组,管理员可以将表分配到不同组,确保请求压力的均衡,提高集群稳定性。同时,文章还讨论了资源规划、监控和优化策略,以及后期管理的方法,以实现更有效的HBase集群管理。

一、背景

目前滴滴 HBase 集群接入了几百个项目,近千张表,上层有用户自己的业务实现以及 Phoenix(HBase SQL 引擎)和 GeoMesa(基于 HBase 的时空索引实现)。

不同用户间请求方式,业务逻辑,以及要求的响应时间都不同,如何减少用户之间的影响,及时发现特定业务问题?

我们在社区的 HBase 版本基础上增加了 RegionServer Group 的功能 (HBASE-6721)。

此功能用于将一个大 HBase 集群的 RegionServer 划分为多个分组,管理员可以将不同的表放入不同分组进行隔离,避免无关系的业务之间互相影响。


二、原理

HBase 是一个分布式存储的集群,那么首先肯定有很多 server 进行具体的数据存储和读写 RPC 的处理。HBase 将一个表通过 split 方式分成多个 Region。然后将这些 Region 分配到不同的机器,达到将请求分散的目的。

我们来看看集群是通过什么方式进行表 Region 的管理。

既然有这么多 server,那么一般都需要有一个管理者来进行管理,这个管理者就是 HMaster。HMaster 通过 Balancer 来将一个表的 N 个 split 之后的 N 个 Region 均衡到不同的 RegionServer 上。

  • 由浅入深
    先来看看只有一个表的情况。
    比如现在我们有一个表 A 在集群上创建,如下图,根据默认的 Balance 权重,每个机器上基本上 Region 数量很平均。做好 rowkey 的散列之后,每个机器的请求压力也很平均了,看上去还不错,下面我们看看创建了多个表的情况。


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值