HBase增强版(Lindorm)支持的分组功能可以用来解决多租户隔离问题,通过划分RegionServer到不同的分组,每个分组上存储不同的表,从而达到资源隔离的目的。本文介绍管理分组功能。

背景信息

当多个用户或者多个业务同时使用同一个HBase增强版(Lindorm)集群时,往往存在资源争抢的问题。一些重要的在线业务读写操作可能会被离线业务批量读写所影响。针对这一问题,HBase增强版(Lindorm)推出了分组功能。如下图所示,创建Group1并把RegionServer1和RegionServer2划分到Group1中,创建Group2并把RegionServer3和RegionServer4划分到Group2。同时把Table1和Table2也移动到Group1。Table1和Table2的所有Region都只会分配到Group1中的RegionServer1和RegionServer2机器上。同理,Table3和Table4的所有Region都只会分配到Group2中的RegionServer3和RegionServer4机器上。所以发送到Table1和Table2的请求,只会由RegionServer1和RegionServer2服务响应,而发送到Table3和Table4的请求,只会由RegionServer3和RegionServer4服务响应,从而达到资源隔离的目的。分组管理架构图

前提条件

已登录目标集群的集群管理系统,具体操作,请参见登录集群管理系统

查看分组信息

  1. 在集群管理系统的左侧导航栏中,选择集群管理 > 分组节点管理
  2. 数据概览区域中可以看到当前集群所有的分组信息。
    说明 如果您没有创建过分组,系统会默认创建一个分组,该分组名称为default,所有的RegionServer和表都会归属到这个分组中。
    分组概览

创建分组

  1. 在集群管理系统的左侧导航栏中,选择集群管理 > 分组节点管理
  2. 单击页面右侧的+添加添加分组节点
  3. 新建分组对话框中输入分组名添加分组名
  4. 单击确定
    说明 创建分组后,分组中的Server数量和Table数量都为0,需要您将Server和Table移动到该分组中。

删除分组

重要 只有分组中的所有Server和Table都被移出(也就是Server数和Table数为0),分组才能被删除。
  1. 在集群管理系统的左侧导航栏中,选择集群管理 > 分组节点管理
  2. 单击目标分组中操作列的删除删除分组
  3. 在对话框中单击确定

移动RegionServer的分组

重要
  • 默认状态下,所有的RegionServer都属于default分组,您需要将RegionServer移动到对应的分组中才能使用。
  • 如果您将Table移动到一个没有RegionServer的分组中,那么该表的Region会由于没有服务器可以上线而无法访问。
  • 建议每个分组至少有两台RegionServer机器,当一台RegionServer机器无法运行时,表的Region可以分配到同一分组的另一台RegionServer机器上。如果只有一台RegionServer机器,当这台RegionServer机器无法运行时,这个分组所有的表都无法被访问。
  • 在移动RegionServer的分组时,这个RegionServer上正在访问的Region会被立即重新分配到分组的其他RegionServer机器上。
  1. 在集群管理系统的左侧导航栏中,选择集群管理 > 分组节点管理
  2. 单击操作列的移动分组移动分组页面
  3. 移动分组对话框中选择目标分组
  4. 单击确定

移动表的分组

警告 请勿将表移动到没有服务器的分组,否则会造成表无法被访问。
  1. 概览页面,单击操作列的移动分组移动表的分组
  2. 新建表单对话框中选择目标分组
  3. 单击确定