HBase 多租户:RegionServer Group

RegionServer Group 通过对 RegionServer 进行分组,不同的 RegionServer 分到不同的组。每个组可以按需挂载不同的表,并且当组内的表发生异常后,Region 不会迁移到其他的组。这样,每个组就相当于一个逻辑上的子集群,通过这种方式达到资源隔离的效果,降低管理成本,不必为每个高 SLA 的业务线单独搭集群。
不过目前hbase的不同rsgroup之间还是有影响的,他们底层都是使用的同一个hadoop。

我们使用的hbase集群是hbase2.1.5版本。环境搭建参见hbase 2.1 环境搭建–完全分布式模式 Advanced - Fully Distributed

想要使用rsgroup功能,需要再hbase-site.xml中配置

<property>
   <name>hbase.coprocessor.master.classes</name>
   <value>org.apache.hadoop.hbase.rsgroup.RSGroupAdminEndpoint</value>
</property>
<property>
   <name>hbase.master.loadbalancer.class</name>
   <value>org.apache.hadoop.hbase.rsgroup.RSGroupBasedLoadBalancer</value>
</property>

重启hbase集群。

先建一个表用于测试:

create 'test:lbltest','0'

查看表属于哪个rsgroup

hbase(main):012:0> get_table_rsgroup 'test:lbltest'
default

可以看到默认是建到default组中。

添加一个rsgroup

hbase(main):020:0> add_rsgroup 'testgroup'
Took 0.0444 seconds
hbase(main):021:0> list_rsgroups
NAME                                            SERVER / TABLE
 testgroup
 default                                    server IP1:16020
                                            server IP2:16020
                                            table hbase:meta
                                            table hbase:namespace
                                            table hbase:rsgroup

目前testgroup还没有分配机器,还不能用。现在将IP1:16020移动到testgroup中

hbase(main):021:0> move_servers_rsgroup 'testgroup', ['IP1:16020']
hbase(main):021:0> list_rsgroups
NAME                                            SERVER / TABLE
 testgroup                                 server IP1:16020
 default                                   server IP2:16020
                                            table hbase:meta
                                            table hbase:namespace
                                            table hbase:rsgroup

接下来将刚才建的表test:lbltest移动到testgroup中。

move_tables_rsgroup 'testgroup',['test:lbltest']

查看所属组

hbase(main):015:0> get_table_rsgroup 'test:lbltest'
testgroup 
hbase(main):016:0> list_rsgroups
NAME                                             SERVER / TABLE                                                                                                                                
 testgroup                                       server IP1:16020                                                                                             
                                                 table test:lbltest                                                                                                                            
 default                                         server IP2:16020

在hbase控制台查看rsgroup:
在这里插入图片描述

rsgroup相关命令:

  • list_rsgroups:列出所有的 RegionServer groups,我们可以在这个命令的后面使用正则表达式来过滤一些我们要的信息。

  • get_rsgroup:获取某个 RegionServer group 的信息。

  • add_rsgroup:创建一个新的 RegionServer Group。

  • remove_rsgroup:删除某个 RegionServer Group。

  • balance_rsgroup:对某个 RegionServer Group 进行 balance 操作。

  • move_servers_rsgroup:将 RegionServers 从一个组移动到另一个组。 RegionServer 中的所有 Region 都将移动到另一个 RegionServer 中。

  • move_tables_rsgroup:将表从一个 RegionServer Group 移动另一个 RegionServer Group。

  • move_namespaces_rsgroup:将指定命名空间的表从一个 RegionServer Group 移动另一个 RegionServer Group。

  • move_servers_tables_rsgroup:将 RegionServers 和 Tables 从一个 RegionServer Group 移动另一个 RegionServer Group。

  • move_servers_namespaces_rsgroup:将指定命名空间的 RegionServers 和 Tables 从一个 RegionServer Group 移动另一个 RegionServer Group。

  • get_server_rsgroup:获取给定 RegionServer 所属的 RegionServer Group。

  • get_table_rsgroup:获取给定表所属的 RegionServer Group。

  • remove_servers_rsgroup:从 RegionServer Group 中删除已停用的 Region。 处于 Dead/recovering/live 状态的 Region 将无法操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐崇拜234

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值