Hbase资源隔离操作指南

1.检查集群的环境配置

1.1 HBase版本号确认>= 5.11.0

引入rsgroup的Patch:

[HBASE-6721] RegionServer Group based Assignment - ASF JIRA

RegionServer Group based Assignment

社区支持版本:2.0.0

引入rsgroup的CDH版本 5.11.0

https://www.cloudera.com/documentation/enterprise/release-notes/topics/cdh_rn_fixed_in_511.html

  1. 确认rsgroup功能已激活

打开HBase Shell, 输入 get_rsgroup ‘default’,

如果未激活rsgroup, 则显示如下图:

如果已激活,则显示如下图:

  1. 如果没有激活rsgroup, 则需要在hbase-site.xml中加入以下配置,重启HMaster(以下示例同时也打开了限流开关)

<property>

   <name>hbase.quota.enabled</name>

   <value>true</value>

 </property>

<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>

在CM上加入位置如下:

新建rsgroup

hbase> add_rsgroup 'my_group'

获取rsgroup信息

  • 列出所有的rsgroup

hbase(main):004:0> list_rsgroups

REGIONSERVER GROUPS 

t1

default

2 row(s) in 0.0130 seconds

  • 获取rsgroup的信息,包括绑定的服务器和表格列表

hbase> get_rsgroup 'default'

  • 获取region server属于哪个rsgroup

hbase(main):003:0> get_server_rsgroup 'bj01-tst-hadoop08.vivo.lan:60020'

t1

  • 获取htable属于哪个rsgroup

hbase(main):005:0> get_table_rsgroup 't1'

default

1 row(s) in 0.0120 seconds

添加机器到指定的rsgroup

添加机器只能先加到default group, 然后再迁移到其他的rsgroup。

加到default group前,先关掉集群的balance, 可以减少系统的自动分配region数量(如果没有正在splitting的region, 可能不会分配region)

hbase(main):006:0> balance_switch false

true

0 row(s) in 0.0280 seconds

观察web UI上出现小黄条:

 添加机器,然后执行移动到指定rsgroup的操作:

hbase(main):036:0> move_servers_rsgroup 't1',['bjthq-bi-dn0028.vivo.lan:60020',]

再用get_rsgroup检查下是否添加成功。

 最后记得打开balance开关

hbase(main):010:0> balance_switch true

然后检查webUI中小黄条消失。

移动htable到指定的rsgroup

hbase(main):031:0> move_tables_rsgroup 't1',['t1_tbl',]

再用get_rsgroup检查下是否添加成功。

删除rsgroup

必须先把rsgroup内的资源全部迁走后才能删除rsgroup

依次执行:

hbase(main):031:0> move_tables_rsgroup 'default',['t1_tbl',]

hbase(main):036:0> move_servers_rsgroup 'default',['bjthq-bi-dn0028.vivo.lan:60020', …]

hbase(main):038:0> remove_rsgroup ‘t1’

参考:大数据开发:HBase资源隔离的解决方案 - 简书

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值