云原生多模数据库 Lindorm支持的分组功能可以用来解决多租户隔离问题,通过划分RegionServer到不同的分组,每个分组上存储不同的表,从而达到资源隔离的目的。本文介绍云原生多模数据库 Lindorm通过集群管理系统管理分组。
背景信息
当多个用户或者多个业务同时使用一个Lindorm集群时,往往存在资源争抢的问题。一些重要的在线业务读写操作可能会被离线业务批量读写所影响。针对这一问题,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服务响应,从而达到资源隔离的目的。
前提条件
已登录目标实例的集群管理系统,具体操作请参见登录集群管理系统。
查看分组信息
在集群管理系统的左侧导航栏中,选择 。
在数据概览区域中可以看到当前集群所有的分组信息。
说明如果您没有创建过分组,系统会默认创建一个分组,该分组名称为default,所有的RegionServer和表都会归属到这个分组中。
创建分组
在集群管理系统的左侧导航栏中,选择 。
单击页面右侧的+添加。
在新建分组对话框中输入分组名。
单击确定。
说明创建分组后,分组中的Server数量和Table数量都为0,需要您将Server和Table移动到该分组中。
删除分组
只有分组中的所有Server和Table都被移出(也就是Server数和Table数为0),分组才能被删除。
在集群管理系统的左侧导航栏中,选择
。在目标分组中操作列,选择
。在对话框中单击确定。
查看实例/集群基本信息
在集群管理系统的左侧导航栏中,选择
。在实例/集群基本信息区域中可以看到数据库类型和数据库所在IDC等信息。
单击右方的
,可以调整当前实例/集群的读写权限。
移动RegionServer的分组
默认状态下,所有的RegionServer都属于default分组,您需要将RegionServer移动到对应的分组中才能使用。
如果您将Table移动到一个没有RegionServer的分组中,那么该表的Region会由于没有服务器可以上线而无法访问。
建议每个分组至少分配两台RegionServer机器,当一台RegionServer机器无法运行时,表的Region可以分配到同一分组的另一台RegionServer机器上。如果只有一台RegionServer机器,当这台RegionServer机器无法运行时,这个分组所有的表都无法被访问。
在移动RegionServer的分组时,这个RegionServer上正在访问的Region会被立即重新分配到分组的其他RegionServer机器上。
在集群管理系统的左侧导航栏中,选择
。在目标分组的操作列,选择
。在移动分组对话框中选择目标分组。
单击确定。
移动表的分组
请勿将表移动到没有服务器的分组,否则会造成表无法被访问。
在概览页面,单击操作列的移动分组。
在移动分组对话框中选择目标分组。
单击确定。