HBase多租户分组

一、分组简介

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

二、分组配置

2.1 安装好集群后修改配置文件,需要逐个重启master节点

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>

 

2.2 查看当前分组

切hbase用户连接hbase  hbase shell

list_rsgroups

默认都在default分组里面

 

2.3 添加分组,添加组后组内没服务器,需要给组分配服务器才可以用

add_rsgroup 'groupName'

 

2.4 Group分配服务器,腾讯云端口是6002

move_servers_rsgroup 'groupName', ['IP2:16020','IP2:16020']

 

2.5 把表分配给组

move_tables_rsgroup 'groupName',['test:表名']

 

2.6 查看表数据哪个分组

get_table_rsgroup 'test:表名'

 

三、Hbase管理常用命令

list_rsgroups:列出所有的 RS groups,可以使用正则表达式来过滤信息

get_rsgroup:获取某个 RS group 的信息

add_rsgroup:创建一个新的 RS Group

remove_rsgroup:删除某个 RS Group

balance_rsgroup:对某个 RS Group 进行 balance 操作

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

move_tables_rsgroup:将表从一个 RS Group 移动另一个 RS Group

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

move_servers_tables_rsgroup:将 RS 和 Tables 从一个 RS Group 移动另一个 RS Group

move_servers_namespaces_rsgroup:将指定命名空间的 RS 和 Tables 从一个 RS Group 移动另一个 RS Group

get_server_rsgroup:获取给定 RegionServer 所属的 RS Group

get_table_rsgroup:获取给定表所属的 RS Group

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

 

 

 

 

posted @ 2021-09-30 11:07  黑水滴  阅读(316)  评论(0编辑  收藏  举报