Hbase Table Isolation for Multi-tenancy using Region Server Grouping

Motivation:

HBase table isolation is required for scenarios that involve multiple users sharing a common HBase instance. We want to isolate the impact of usage (like read,write patterns) and maintenance activity (like compaction, region splits) of different applications. In the current state, there is no way we can control what regions of a table get assigned to given region servers. A feature to group region servers and assigning tables based on groups will be very useful in multi-tenant environments. In this way, tables belonging to different applications can be assigned to different region server group and hence each application behavior can be isolated to good extent. This design is based on existing work done in the JIRA HBASE-5169. The major difference being usage of command line to manage region server groups and the restriction that a table can only belong to a single region server group at a given time.

Proposal:

The work related to this feature can be split into two major components:

1. Developing API to execute commands related to region server grouping.

2. Developing group based assignment manager.

Region Server Group API:

To provide commands through hbase shell to do the following:

  •  Create/Delete region server groups.
  • Move region servers between groups.
  • Move HBase tables between groups.
The following APIs will be required for operations related to grouping region servers and
assigning region server groups to tables.
  • boolean addGroup(String gName)
  • boolean deleteGroup(String gName)
  • void moveServerToGroup(String serverName, String gName)
  • Map<String, GroupInfo> listGroupMappings()
  • Map<ServerName, ServerPlan> listServersInTransition()
  • GroupInfo getGroupInfo(String gName)
  • GroupInfo getGroupOfTable(String tableName)
  • GroupInfo getGroupOfServer(String serverName)
  • boolean moveTableToGroup(String tableName, String gName)

We plan to implement all the above functionality using a coprocessor end point.


Ref: http://issues.apache.org/jira/browse/HBASE-6721


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值