RegionServer Group 技术是通过对 RegionServer 进行分组,不同的 RegionServer 分到不同的组。每个组可以按需挂载不同的表,并且当组内的表发生异常后,Region 不会迁移到其他的组。这样,每个组就相当于一个逻辑上的子集群,通过这种方式达到资源隔离的效果,降低管理成本,不必为每个高 SLA 的业务线单独搭集群。
在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>
**
列出所有的 RegionServer groups,我们可以在这个命令的后面使用正则表达式来过滤一些我们要的信息。
**
获取某个 RegionServer group 的信息。
3. add_rsgroup
创建一个新的 RegionServer Group。
**
**
对某个 RegionServer Group 进行 balance 操作。
**
将 RegionServers 从一个组移动到另一个组。 RegionServer 中的所有 Region 都将移动到另一个 RegionServer 中。
**
将表从一个 RegionServer Group 移动另一个 RegionServer Group。
表test1的region全部移动到179上:
**
将指定命名空间的表从一个 RegionServer Group 移动另一个 RegionServer Group。
9. move_servers_tables_rsgroup
将 RegionServers 和 Tables 从一个 RegionServer Group 移动另一个 RegionServer Group。
**10
将指定命名空间的 RegionServers 和 Tables 从一个 RegionServer Group 移动另一个 RegionServer Group。
**
获取给定 RegionServer 所属的 RegionServer Group。
**
**
从 RegionServer Group 中删除已停用的 Region。 处于 Dead/recovering/live 状态的 Region 将无法操作。