当前位置:   article > 正文

Hbase资源隔离操作指南_hbase rsgroup

hbase rsgroup

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资源隔离的解决方案 - 简书

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号