当前位置: 首页 > news >正文

OceanBase租户扩缩容的三种方法

OceanBase租户扩缩容的三种方法

  • 租户扩缩容:调整Unit Config
    • 场景一:租户配置了独立的资源规格
    • 场景二:多个租户使用了相同的资源规格
  • 租户扩缩容:调整Unit Number
    • 设置租户内的负载均衡策略
    • 修改Unit Number实现扩缩容
  • 租户扩缩容:调整Primary Zone
    • 增加Primary Zone
    • 减少Primary Zone

OceanBase V4.2.5

租户扩容可以提升计算能力和存储容量,OceanBase数据库提供了以下两种途径来实现扩缩容:

  • 提高单节点的服务能力:即调大租户资源池使用的资源规格(unit config)。
  • 增加服务节点的数量:可以分为增加资源单元(unit number)或者增加Primary Zone。

缩容是扩容的反操作,本质上是降低租户的服务能力,包括计算能力和存储容量。可以是调小资源规格,从而降低单节点的服务能力;也可以是通过减少服务节点,包括减少Primary Zone个数和减少Unit Number。

租户扩缩容:调整Unit Config

⚠️ 注意事项

  1. 在扩容前,如果有租户被删除,建议与租户对应的资源池也一并删除,以便释放资源。
  2. 进行租户缩容前,建议进行一轮转储以便释放租户正在使用的内存。
  3. 在调大资源规格时,无论是通过修改资源配置还是切换资源配置,调整后的资源总量都必须满足以下要求:
  • sum(min_cpu) <= CPU_CAPACITY
  • sum(max_cpu) <= CPU_CAPACITY * resource_hard_limit
  • sum(memory_size) <= MEM_CAPACITY
  • sum(log_disk_size) <= LOG_DISK_CAPACITY

其中,CPU_CAPACITYMEM_CAPACITYLOG_DISK_CAPACITY分别表示CPU总量、内存总量和日志盘总容量。resource_hard_limit是一个配置项的值。在分配Unit时,系统会根据配置项resource_hard_limit的值来分配CPU资源。该配置项的默认值为100,表示不允许超卖,取值范围为[100,10000]

登录到集群SYS租户,这些容量指标的查看方式如下:

--查询资源上限
select svr_ip,zone,cpu_capacity,cpu_assigned,mem_capacity,mem_assigned,log_disk_capacity,log_disk_assigned,
data_disk_capacity,data_disk_allocated from oceanbase.GV$OB_SERVERS;select svr_ip,zone,tenant_id,scope,section,name,value,edit_level,default_value 
from oceanbase.gv$ob_parameters where name='resource_hard_limit';--查询资源规格
select unit_config_id,name,max_cpu,min_cpu,memory_size,log_disk_size from oceanbase.dba_ob_unit_configs;--查询租户资源分配
select unit_id,tenant_id,resource_pool_id,unit_config_id,max_cpu,min_cpu,memory_size,log_disk_size from oceanbase.dba_ob_units;
select svr_ip,unit_id,tenant_id,max_cpu,min_cpu,memory_size,log_disk_size from gv$ob_units;

📖 在通过调大和调小租户资源规格进行扩容和缩容时,有以下两种场景:

  1. 当前租户配置了独立的资源规格,可以直接修改租户的资源规格。
  2. 多个租户使用了相同的资源规格,需要切换租户的资源规格。

登录SYS租户管理员,获取租户所使用的资源规格ID:

obclient(root@sys)[oceanbase]> select a.tenant_name, b.unit_config_id from oceanbase.dba_ob_tenants a,oceanbase.dba_ob_resource_pools b where b.tenant_id=a.tenant_id;
+-------------+----------------+
| tenant_name | unit_config_id |
+-------------+----------------+
| sys         |              1 |
| tpcc        |           1001 |
| mysql_t1    |           1002 |
| mysql_t2    |           1002 |
+-------------+----------------+

上面的查询结果中,tpcc租户使用了独立的资源规格,mysql_t1mysql_t2使用了相同的资源规格。

场景一:租户配置了独立的资源规格

tpcc租户为例。

  1. 登录集群SYS租户,查询待操作租户所使用的UNIT_CONFIG_ID
obclient(root@sys)[oceanbase]> select a.tenant_name, b.unit_config_id from oceanbase.dba_ob_tenants a,oceanbase.dba_ob_resource_pools b where b.tenant_id=a.tenant_id;
+-------------+----------------+
| tenant_name | unit_config_id |
+-------------+----------------+
| sys         |              1 |
| tpcc        |           1001 |
| mysql_t1    |           1002 |
| mysql_t2    |           1002 |
+-------------+----------------+
4 rows in set (0.021 sec)
  1. 查询待操作租户的资源规格详情。
obclient(root@sys)[oceanbase]> select * from oceanbase.dba_ob_unit_configs where unit_config_id='1001';
+----------------+-----------+----------------------------+----------------------------+---------+---------+--------------+---------------+----------+----------+-------------+
| UNIT_CONFIG_ID | NAME      | CREATE_TIME                | MODIFY_TIME                | MAX_CPU | MIN_CPU | MEMORY_SIZE  | LOG_DISK_SIZE | MAX_IOPS | MIN_IOPS | IOPS_WEIGHT |
+----------------+-----------+----------------------------+----------------------------+---------+---------+--------------+---------------+----------+----------+-------------+
|           1001 | tpcc_unit | 2025-04-16 10:22:22.470219 | 2025-04-16 10:22:22.470219 |      24 |      24 | 200789721088 |  708132732928 |    10000 |    10000 |          36 |
+----------------+-----------+----------------------------+----------------------------+---------+---------+--------------+---------------+----------+----------+-------------+
1 row in set (0.011 sec)
  1. 检查节点资源上限。
select svr_ip,zone,cpu_capacity,cpu_assigned,
round(mem_capacity/1024/1024/1024,2) as mem_capacity_gb,
round(mem_assigned/1024/1024/1024,2) as mem_assigned_gb,
round(log_disk_capacity/1024/1024/1024,2) as log_disk_capacity_gb,
round(log_disk_assigned/1024/1024/1024,2) as log_disk_assigned_gb, 
round(data_disk_capacity/1024/1024/1024,2) as data_disk_capacity_gb,
round(data_disk_allocated/1024/1024/1024,2) as data_disk_allocated_gb 
from oceanbase.GV$OB_SERVERS;select svr_ip,unit_id,tenant_id,max_cpu,min_cpu,
round(memory_size/1024/1024/1024,2) as memory_size_gb,
round(log_disk_size/1024/1024/1024,2) as log_disk_size_gb 
from gv$ob_units;
  1. 调大(或调小)资源规格。
--调小资源规格
alter resource unit tpcc_unit max_cpu 8, min_cpu 8, memory_size '20g', log_disk_size '60g';--调大资源规格
alter resource unit tpcc_unit max_cpu 28, min_cpu 28, memory_size '120g', log_disk_size '360g';
  1. 确认是否修改成功。
obclient(root@sys)[oceanbase]> select * from oceanbase.dba_ob_unit_configs where unit_config_id='1001';
+----------------+-----------+----------------------------+----------------------------+---------+---------+--------------+---------------+----------+----------+-------------+
| UNIT_CONFIG_ID | NAME      | CREATE_TIME                | MODIFY_TIME                | MAX_CPU | MIN_CPU | MEMORY_SIZE  | LOG_DISK_SIZE | MAX_IOPS | MIN_IOPS | IOPS_WEIGHT |
+----------------+-----------+----------------------------+----------------------------+---------+---------+--------------+---------------+----------+----------+-------------+
|           1001 | tpcc_unit | 2025-04-16 10:22:22.470219 | 2025-04-26 12:04:15.664243 |      28 |      28 | 128849018880 |  386547056640 |    10000 |    10000 |          36 |
+----------------+-----------+----------------------------+----------------------------+---------+---------+--------------+---------------+----------+----------+-------------+
1 row in set (0.000 sec)

场景二:多个租户使用了相同的资源规格

多个租户共用了同一个资源规格时,不能通过简单的调大和调小资源规格来实现租户的扩容和缩容。因为一旦修改,将导致使用相同资源规格的所有租户同时进行了扩容或缩容。此场景下,需要先创建独立的资源规格后,再为租户切换资源规格。

mysql_t2租户为例。

  1. 登录集群SYS租户,查询待操作租户所使用的UNIT_CONFIG_IDRESOURCE_POOL_NAME
obclient(root@sys)[oceanbase]> select a.tenant_name, b.name resource_pool_name, b.unit_config_id  from oceanbase.dba_ob_tenants a,oceanbase.dba_ob_resource_pools b where b.tenant_id=a.tenant_id;
+-------------+--------------------+----------------+
| tenant_name | resource_pool_name | unit_config_id |
+-------------+--------------------+----------------+
| sys         | sys_pool           |              1 |
| tpcc        | tpcc_pool          |           1001 |
| mysql_t1    | pool_mysql_s1      |           1002 |
| mysql_t2    | pool_mysql_s2      |           1002 |
+-------------+--------------------+----------------+
4 rows in set (0.008 sec)
  1. 查询待操作租户的资源规格详情。
obclient(root@sys)[oceanbase]> select * from oceanbase.dba_ob_unit_configs where unit_config_id='1002';
+----------------+---------------+----------------------------+----------------------------+---------+---------+-------------+---------------+---------------------+---------------------+-------------+
| UNIT_CONFIG_ID | NAME          | CREATE_TIME                | MODIFY_TIME                | MAX_CPU | MIN_CPU | MEMORY_SIZE | LOG_DISK_SIZE | MAX_IOPS            | MIN_IOPS            | IOPS_WEIGHT |
+----------------+---------------+----------------------------+----------------------------+---------+---------+-------------+---------------+---------------------+---------------------+-------------+
|           1002 | unit_mysql_s1 | 2025-04-26 11:18:04.887209 | 2025-04-26 12:06:13.453403 |       1 |       1 |  2147483648 |    6442450944 | 9223372036854775807 | 9223372036854775807 |           1 |
+----------------+---------------+----------------------------+----------------------------+---------+---------+-------------+---------------+---------------------+---------------------+-------------+
1 row in set (0.000 sec)
  1. 检查节点资源上限。
select svr_ip,zone,cpu_capacity,cpu_assigned,
round(mem_capacity/1024/1024/1024,2) as mem_capacity_gb,
round(mem_assigned/1024/1024/1024,2) as mem_assigned_gb,
round(log_disk_capacity/1024/1024/1024,2) as log_disk_capacity_gb,
round(log_disk_assigned/1024/1024/1024,2) as log_disk_assigned_gb, 
round(data_disk_capacity/1024/1024/1024,2) as data_disk_capacity_gb,
round(data_disk_allocated/1024/1024/1024,2) as data_disk_allocated_gb 
from oceanbase.GV$OB_SERVERS;select svr_ip,unit_id,tenant_id,max_cpu,min_cpu,
round(memory_size/1024/1024/1024,2) as memory_size_gb,
round(log_disk_size/1024/1024/1024,2) as log_disk_size_gb 
from gv$ob_units;
  1. 创建一个独立的新资源规格,新资源规格各项资源值为待修改的目标值。
select unit_config_id,name,max_cpu,min_cpu,
round(memory_size/1024/1024/1024,2) as memory_size_gb,
round(log_disk_size/1024/1024/1024,2) as log_disk_size_gb 
from oceanbase.dba_ob_unit_configs;create resource unit unit_mysql_s2 max_cpu = 2, min_cpu = 2, memory_size = '2g',log_disk_size = '6g';
  1. 调整待操作租户的资源池使用新资源规格。
select resource_pool_id,a.name pool_name,tenant_id,unit_count,a.unit_config_id,b.name unit_config_name,zone_list 
from dba_ob_resource_pools a, dba_ob_unit_configs b where a.unit_config_id=b.unit_config_id;alter resource pool pool_mysql_s2 unit='unit_mysql_s2';
  1. 查询租户当前的资源规格,确认是否修改成功。
obclient(root@sys)[oceanbase]> select a.tenant_name, b.name resource_pool_name, b.unit_config_id  from oceanbase.dba_ob_tenants a,oceanbase.dba_ob_resource_pools b where b.tenant_id=a.tenant_id;
+-------------+--------------------+----------------+
| tenant_name | resource_pool_name | unit_config_id |
+-------------+--------------------+----------------+
| sys         | sys_pool           |              1 |
| tpcc        | tpcc_pool          |           1001 |
| mysql_t1    | pool_mysql_s1      |           1002 |
| mysql_t2    | pool_mysql_s2      |           1003 |
+-------------+--------------------+----------------+
4 rows in set (0.008 sec)obclient(root@sys)[oceanbase]> select * from oceanbase.dba_ob_unit_configs where unit_config_id='1003';
+----------------+---------------+----------------------------+----------------------------+---------+---------+-------------+---------------+---------------------+---------------------+-------------+
| UNIT_CONFIG_ID | NAME          | CREATE_TIME                | MODIFY_TIME                | MAX_CPU | MIN_CPU | MEMORY_SIZE | LOG_DISK_SIZE | MAX_IOPS            | MIN_IOPS            | IOPS_WEIGHT |
+----------------+---------------+----------------------------+----------------------------+---------+---------+-------------+---------------+---------------------+---------------------+-------------+
|           1003 | unit_mysql_s2 | 2025-04-26 12:15:23.678828 | 2025-04-26 12:15:23.678828 |       2 |       2 |  2147483648 |    6442450944 | 9223372036854775807 | 9223372036854775807 |           2 |
+----------------+---------------+----------------------------+----------------------------+---------+---------+-------------+---------------+---------------------+---------------------+-------------+
1 row in set (0.000 sec)

租户扩缩容:调整Unit Number

从OB V4.0.0版本开始,OceanBase数据库要求租户内每个Zone的Unit个数必须保持一致。为了方便统一管理各个Zone的Unit,系统引入了Unit Group机制,即不同Zone之间相同编号UNIT_GROUP_ID)的Unit属于同一个Unit Group。调大或调小Unit Number本质上是以Unit Group为单位创建和删除Unit。

⚠️由于一个租户在一个OB节点只能同时存在一个Unit。因此调整Unit Number扩容租户不适用于单机部署模式。单机模式查下扩容Unit Number会收到下面的报错:

ERROR 4734 (HY000): zone 'zone1' server not enough to hold 1 new unit, please check zone valid servers

⚠️ 注意事项

  1. 在扩容前,如果有租户被删除,建议与租户对应的资源池也一并删除,以便释放资源。
  2. 进行租户缩容前,建议进行一轮转储以便释放租户正在使用的内存。
  3. 在进行租户的扩容和缩容操作前,设置租户内的负载均衡策略。

设置租户内的负载均衡策略

租户内的负载均衡策略由租户级配置项enable_rebalanceenable_transfer共同控制。

  • enable_rebalance系统租户下配置可用于控制是否进行租户间的负载均衡;在用户租户下配置可用于控制是否进行租户内均衡。默认值为true,可动态修改。
  • enable_transfer用于控制是否允许在租户内进行Transfer。默认值为true,可动态修改。配置项enable_rebalance=false时此配置项无效。
    • enable_rebalance=false时,系统不会进行自动负载均衡。
    • enable_rebalance=trueenable_transfer=true时,在进行租户扩缩容操作时,系统会自动调整分区分布,实现负载均衡。
    • enable_rebalance=trueenable_transfer=false时,在进行租户扩缩容操作时,系统不能发起 Transfe操作,只能通过日志流迁移实现有限的均衡。

检查租户的负载均衡配置:

obclient(root@sys)[oceanbase]> 
select svr_ip,zone,tenant_id,scope,section,name,value,edit_level,default_value   
from oceanbase.gv$ob_parameters where name in ('enable_rebalance','enable_transfer');+-------------+-------+-----------+--------+--------------+------------------+-------+-------------------+---------------+
| svr_ip      | zone  | tenant_id | scope  | section      | name             | value | edit_level        | default_value |
+-------------+-------+-----------+--------+--------------+------------------+-------+-------------------+---------------+
| 172.xx.x.xx | zone1 |         1 | TENANT | LOAD_BALANCE | enable_transfer  | True  | DYNAMIC_EFFECTIVE | True          |
| 172.xx.x.xx | zone1 |         1 | TENANT | LOAD_BALANCE | enable_rebalance | True  | DYNAMIC_EFFECTIVE | True          |
| 172.xx.x.xx | zone1 |      1001 | TENANT | LOAD_BALANCE | enable_transfer  | True  | DYNAMIC_EFFECTIVE | True          |
| 172.xx.x.xx | zone1 |      1001 | TENANT | LOAD_BALANCE | enable_rebalance | True  | DYNAMIC_EFFECTIVE | True          |
| 172.xx.x.xx | zone1 |      1002 | TENANT | LOAD_BALANCE | enable_transfer  | True  | DYNAMIC_EFFECTIVE | True          |
| 172.xx.x.xx | zone1 |      1002 | TENANT | LOAD_BALANCE | enable_rebalance | True  | DYNAMIC_EFFECTIVE | True          |
| 172.xx.x.xx | zone1 |      1003 | TENANT | LOAD_BALANCE | enable_transfer  | True  | DYNAMIC_EFFECTIVE | True          |
| 172.xx.x.xx | zone1 |      1003 | TENANT | LOAD_BALANCE | enable_rebalance | True  | DYNAMIC_EFFECTIVE | True          |
...

开启单个用户租户的负载均衡:

ALTER SYSTEM SET enable_rebalance = true TENANT = 'mysql_t1';
ALTER SYSTEM SET enable_transfer = true TENANT = 'mysql_t1';

开启所有租户的负载均衡:

ALTER SYSTEM SET enable_rebalance = true TENANT = all_user;
ALTER SYSTEM SET enable_transfer = true TENANT = all_user;

修改Unit Number实现扩缩容

  1. 登录SYS租户,查看要扩缩容租户的tenant_id信息。
select * from oceanbase.dba_ob_tenants where tenant_name = 'mysql_t1';
  1. 查看目标租户的所有Unit和Unit Group信息。
select * from oceanbase.dba_ob_units where tenant_id = 1004;
  1. 检查OB节点的数量和zone信息。
select svr_ip,svr_port,zone from oceanbase.gv$ob_servers;
  1. 修改目标租户的Unit Number。

如果是租户扩容,调大Unit Number即可(不要超过OB节点数);如果是租户缩容,调小Unit Number即可。

ALTER RESOURCE TENANT mysql_t1 UNIT_NUM = 2;

缩容时可以指定要删除的UNIT_GROUP

ALTER RESOURCE TENANT mysql_t1 UNIT_NUM = 1 DELETE UNIT_GROUP =(1003);
  1. 查看Unit Number变更任务的执行状态。
select * from oceanbase.dba_ob_tenant_jobs where job_type='ALTER_RESOURCE_TENANT_UNIT_NUM' and tenant_id=1004;
  • 字段START_TIME是任务发起的时间;
  • 字段EXTRA_INFO记录了变更前后的Unit Number数。
  • 字段JOB_STATUS的值为SUCCESS时,表示修改Unit Number的任务执行成功。
  1. 确认修改后的Unit。
select * from oceanbase.dba_ob_units where tenant_id = 1004;

租户扩缩容:调整Primary Zone

通过修改Primary Zone,可以横向增加或减少计算节点,达到租户总服务能力的提升或降低,实现租户的扩容或缩容。

调整Primary Zone前,需要设置租户内的负载均衡策略。租户内的负载均衡策略由租户级配置项enable_rebalanceenable_transfer共同控制。

配置项enable_rebalanceenable_transfer的介绍,请参考上文的《租户扩缩容:调整Unit Number》部分。

增加Primary Zone

  1. 登录到SYS租户,查询要扩容租户的tenant_idprimazy_zone信息。
obclient(root@sys)[oceanbase]> 
select tenant_id, tenant_name, primary_zone from oceanbase.dba_ob_tenants where tenant_name = 'tpcc';+-----------+-------------+--------------+
| TENANT_ID | TENANT_NAME | PRIMARY_ZONE |
+-----------+-------------+--------------+
|      1004 | tpcc        | zone1;zone2  |
+-----------+-------------+--------------+
1 row in set
  1. 查询目标租户当前日志流Leader副本位置的分布信息。
select tenant_id, ls_id, svr_ip, svr_port, zone, role, replica_type 
from oceanbase.cdb_ob_ls_locations where tenant_id = 1004 and ls_id != 1 and role = 'LEADER';+-----------+-------+---------------+----------+--------+--------+--------------+
| TENANT_ID | LS_ID | SVR_IP        | SVR_PORT | ZONE   | ROLE   | REPLICA_TYPE |
+-----------+-------+---------------+----------+--------+--------+--------------+
|      1004 |  1001 | 172.xx.xxx.xx |    2882  |  zone1 | LEADER | FULL         |
|      1004 |  1012 | 172.xx.xxx.xx |    2882  |  zone1 | LEADER | FULL         |
+-----------+-------+---------------+----------+--------+--------+--------------+
2 rows in set
  1. 修改目标租户的primary_zone属性,第一优先级Zone的个数从1调整为2。
ALTER TENANT tpcc PRIMARY_ZONE='zone1,zone2'; 
  1. 查看增加Primary Zone任务的执行状态。
select * from oceanbase.dba_ob_tenant_jobs where job_type='ALTER_TENANT_PRIMARY_ZONE' and tenant_id = 1004;+--------+---------------------------+------------+-------------+----------+----------------------------+----------------------------+-----------+--------------------------------------------------+-------------+----------------+-------------+
| JOB_ID | JOB_TYPE                  | JOB_STATUS | RESULT_CODE | PROGRESS | START_TIME                 | MODIFY_TIME                | TENANT_ID | SQL_TEXT                                         | EXTRA_INFO  | RS_SVR_IP      | RS_SVR_PORT |
+--------+---------------------------+------------+-------------+----------+----------------------------+----------------------------+-----------+--------------------------------------------------+-------------+----------------+-------------+
|      4 | ALTER_TENANT_PRIMARY_ZONE | SUCCESS    |           0 |      100 | 2024-12-18 17:26:00.069089 | 2024-12-18 17:26:20.919021 |      1004 | ALTER TENANT tpcc PRIMARY_ZONE='zone1,zone2'     | zone1;zone2 | 172.xx.xxx.xx  |       2882  |
+--------+---------------------------+------------+-------------+----------+----------------------------+----------------------------+-----------+--------------------------------------------------+-------------+----------------+-------------+
1 row in set
  1. 查询目标租户信息,确认PRIMARY_ZONE属性修改成功,第一优先级由zone1变更为zone1,zone2
select primary_zone from oceanbase.dba_ob_tenants where tenant_id = 1004;+--------------+
| PRIMARY_ZONE |
+--------------+
| zone1,zone2  |
+--------------+
1 row in set
  1. 再次查询目标租户日志流Leader副本位置的分布信息。
select tenant_id, ls_id, svr_ip, svr_port, zone, role, replica_type 
from oceanbase.cdb_ob_ls_locations where tenant_id = 1004 and ls_id != 1 and role = 'LEADER';+-----------+-------+---------------+----------+-------+--------+--------------+
| TENANT_ID | LS_ID | SVR_IP        | SVR_PORT | ZONE  | ROLE   | REPLICA_TYPE |
+-----------+-------+---------------+----------+-------+--------+--------------+
|      1004 |  1001 | 172.xx.xxx.xx |    2882  | zone1 | LEADER | FULL         |
|      1004 |  1012 | 172.xx.xxx.xx |    2882  | zone1 | LEADER | FULL         |
|      1004 |  1013 | 172.xx.xxx.xx |    2882  | zone2 | LEADER | FULL         |
|      1004 |  1014 | 172.xx.xxx.xx |    2882  | zone2 | LEADER | FULL         |
+-----------+-------+---------------+----------+-------+--------+--------------+
4 rows in set

减少Primary Zone

  1. 登录到SYS租户,查询要缩容租户的tenant_idprimazy_zone信息。
select tenant_id, tenant_name, primary_zone from oceanbase.dba_ob_tenants where tenant_name = 'tpcc';+-----------+-------------+--------------+
| TENANT_ID | TENANT_NAME | PRIMARY_ZONE |
+-----------+-------------+--------------+
|      1004 | tpcc        | zone1,zone2  |
+-----------+-------------+--------------+
1 row in set
  1. 查询目标租户当前日志流Leader副本位置的分布信息。
select tenant_id, ls_id, svr_ip, svr_port, zone, role, replica_type 
from oceanbase.cdb_ob_ls_locations where tenant_id = 1004 and ls_id != 1 and role = 'LEADER';+-----------+-------+---------------+----------+-------+--------+--------------+
| TENANT_ID | LS_ID | SVR_IP        | SVR_PORT | ZONE  | ROLE   | REPLICA_TYPE |
+-----------+-------+---------------+----------+-------+--------+--------------+
|      1004 |  1001 | 172.xx.xxx.xx |    2882  | zone1 | LEADER | FULL         |
|      1004 |  1012 | 172.xx.xxx.xx |    2882  | zone1 | LEADER | FULL         |
|      1004 |  1013 | 172.xx.xxx.xx |    2882  | zone2 | LEADER | FULL         |
|      1004 |  1014 | 172.xx.xxx.xx |    2882  | zone2 | LEADER | FULL         |
+-----------+-------+---------------+----------+-------+--------+--------------+
4 rows in set
  1. 修改目标租户的primary_zone属性,第一优先级Zone的个数从2调整为1。
ALTER TENANT tpcc PRIMARY_ZONE='zone1;zone2'; 
  1. 查看减少Primary Zone任务的执行状态。
select * from oceanbase.dba_ob_tenant_jobs where job_type='ALTER_TENANT_PRIMARY_ZONE' and tenant_id = 1004;
  1. 查询目标租户信息,确认PRIMARY_ZONE属性修改成功,第一优先级由zone1,zone2变更为zone1;zone2
select primary_zone from oceanbase.dba_ob_tenants where tenant_id = 1004;+--------------+
| PRIMARY_ZONE |
+--------------+
|  zone1;zone2 |
+--------------+
1 row in set
  1. 再次查询目标租户日志流Leader副本位置的分布信息。
select tenant_id, ls_id, svr_ip, svr_port, zone, role, replica_type 
from oceanbase.cdb_ob_ls_locations where tenant_id = 1004 and ls_id != 1 and role = 'LEADER';+-----------+-------+---------------+----------+--------+--------+--------------+
| TENANT_ID | LS_ID | SVR_IP        | SVR_PORT | ZONE   | ROLE   | REPLICA_TYPE |
+-----------+-------+---------------+----------+--------+--------+--------------+
|      1004 |  1001 | 172.xx.xxx.xx |    2882  |  zone1 | LEADER | FULL         |
|      1004 |  1012 | 172.xx.xxx.xx |    2882  |  zone1 | LEADER | FULL         |
+-----------+-------+---------------+----------+--------+--------+--------------+
2 rows in set

以上。

相关文章:

  • 2505C++,wmi客户端示例
  • 微软发布了最新的开源推理模型套件“Phi-4-Reasoning
  • C++ 项目中的多语言字符串管理方案(支持自动提示与动态加载)
  • 逻辑回归的多分类实战:以鸢尾花数据集为例
  • 【源码+文档+调试讲解】儿童图书推荐系统81
  • 论文笔记(八十三)STACKGEN: Generating Stable Structures from Silhouettes via Diffusion
  • C++负载均衡远程调用学习之QPS性能测试
  • 个人健康中枢的多元化AI软件革新与精准健康路径探析
  • 同城跑腿小程序帮取帮送接单抢单预约取件智能派单同城配送全开源运营版源码优创
  • 2000-2022年上市公司数字经济专利申请数据
  • 组件通信-mitt
  • 【云备份】配置文件加载模块
  • 中小企业MES系统需求文档
  • 创新老年综合评估实训室建设方案,规范评估流程
  • JSON与字典的区别及示例
  • (六——下)RestAPI 毛子(Http resilience/Refit/游标分页)
  • Linux52 运行百度网盘 解决故障无法访问repo nosandbox 未解决:疑似libstdc++版本低导致无法运行baidu网盘
  • Arduino逻辑控制详细解答,一点自己的想法记录
  • Shell 脚本基础
  • 文献阅读篇#7:5月一区好文阅读,BFA-YOLO,用于建筑信息建模!(下)
  • 英国地方选举结果揭晓,工党保守党皆受挫
  • 视频丨英伟达总裁黄仁勋:美勿幻想AI领域速胜中国
  • 200枚篆刻聚焦北京中轴线,“印记”申遗往事
  • 吴志朴当选福建德化县人民政府县长
  • 体坛联播|欧冠半决赛阿森纳主场不敌巴黎,北京男篮险胜山西
  • 卸任兰大校长后,严纯华院士重返北大作报告