OceanBase集群缩容

发布时间 2023-05-09 10:32:14作者: 高&玉

连接sys租户

使用root用户连接sys租户的oceanbase数据库

[admin]# mysql -h192.168.1.71 -P2883 -D oceanbase -uroot@sys -pOceanbase2881 -A

租户减少副本

查看租户信息,sys、my_tenat租户(sys是系统租户,my_tenant是我创建的测试租户)的LOCALITY值包括:zone1、zone2、zone3

mysql> select * from DBA_OB_TENANTS;
+-----------+-------------+-------------+----------------------------+----------------------------+--------------+---------------------------------------------+-------------------+--------------------+--------+---------------+--------+
| TENANT_ID | TENANT_NAME | TENANT_TYPE | CREATE_TIME                | MODIFY_TIME                | PRIMARY_ZONE | LOCALITY                                    | PREVIOUS_LOCALITY | COMPATIBILITY_MODE | STATUS | IN_RECYCLEBIN | LOCKED |
+-----------+-------------+-------------+----------------------------+----------------------------+--------------+---------------------------------------------+-------------------+--------------------+--------+---------------+--------+
|         1 | sys         | SYS         | 2023-04-24 18:33:06.821930 | 2023-05-08 18:23:29.612310 | RANDOM       | FULL{1}@zone1, FULL{1}@zone2, FULL{1}@zone3 | NULL              | MYSQL              | NORMAL | NO            | NO     |
|      1003 | META$1004   | META        | 2023-04-25 16:54:07.990306 | 2023-05-08 18:25:26.069907 | RANDOM       | FULL{1}@zone1, FULL{1}@zone2, FULL{1}@zone3 | NULL              | MYSQL              | NORMAL | NO            | NO     |
|      1004 | my_tenant   | USER        | 2023-04-25 16:54:07.991849 | 2023-05-08 18:25:26.069907 | RANDOM       | FULL{1}@zone1, FULL{1}@zone2, FULL{1}@zone3 | NULL              | MYSQL              | NORMAL | NO            | NO     |
+-----------+-------------+-------------+----------------------------+----------------------------+--------------+---------------------------------------------+-------------------+--------------------+--------+---------------+--------+

从租户中删除zone3

mysql> alter tenant sys LOCALITY='FULL{1}@zone1,FULL{1}@zone2';
Query OK, 0 rows affected (3.98 sec)

mysql> alter tenant my_tenant LOCALITY='FULL{1}@zone1,FULL{1}@zone2';
Query OK, 0 rows affected (2.93 sec)

查看租户信息,可以看到sys、my_tenant租户的LOCALITY值只包括:zone1、zone2

mysql> select * from DBA_OB_TENANTS;
+-----------+-------------+-------------+----------------------------+----------------------------+--------------+------------------------------+-------------------+--------------------+--------+---------------+--------+
| TENANT_ID | TENANT_NAME | TENANT_TYPE | CREATE_TIME                | MODIFY_TIME                | PRIMARY_ZONE | LOCALITY                     | PREVIOUS_LOCALITY | COMPATIBILITY_MODE | STATUS | IN_RECYCLEBIN | LOCKED |
+-----------+-------------+-------------+----------------------------+----------------------------+--------------+------------------------------+-------------------+--------------------+--------+---------------+--------+
|         1 | sys         | SYS         | 2023-04-24 18:33:06.821930 | 2023-05-09 09:28:07.989177 | RANDOM       | FULL{1}@zone1, FULL{1}@zone2 | NULL              | MYSQL              | NORMAL | NO            | NO     |
|      1003 | META$1004   | META        | 2023-04-25 16:54:07.990306 | 2023-05-09 09:28:31.056441 | RANDOM       | FULL{1}@zone1, FULL{1}@zone2 | NULL              | MYSQL              | NORMAL | NO            | NO     |
|      1004 | my_tenant   | USER        | 2023-04-25 16:54:07.991849 | 2023-05-09 09:28:31.056441 | RANDOM       | FULL{1}@zone1, FULL{1}@zone2 | NULL              | MYSQL              | NORMAL | NO            | NO     |
+-----------+-------------+-------------+----------------------------+----------------------------+--------------+------------------------------+-------------------+--------------------+--------+---------------+--------+

资源池删除zone3

查看资源池信息,sys_pool、my_pool资源池(sys_pool是系统资源池,my_pool是我创建的测试资源池)的ZONE_LIST包括:zone1、zone2、zone3

mysql> select * from DBA_OB_RESOURCE_POOLS;
+------------------+----------+-----------+----------------------------+----------------------------+------------+----------------+-------------------+--------------+
| RESOURCE_POOL_ID | NAME     | TENANT_ID | CREATE_TIME                | MODIFY_TIME                | UNIT_COUNT | UNIT_CONFIG_ID | ZONE_LIST         | REPLICA_TYPE |
+------------------+----------+-----------+----------------------------+----------------------------+------------+----------------+-------------------+--------------+
|                1 | sys_pool |         1 | 2023-04-24 18:33:06.599543 | 2023-05-08 18:13:57.287837 |          1 |              1 | zone1;zone2;zone3 | FULL         |
|             1007 | my_pool  |      1004 | 2023-04-25 15:43:45.381999 | 2023-05-08 18:14:21.769913 |          1 |           1003 | zone1;zone2;zone3 | FULL         |
+------------------+----------+-----------+----------------------------+----------------------------+------------+----------------+-------------------+--------------+

从资源池zone_list中删除zone3

mysql> alter resource pool sys_pool ZONE_LIST=('zone1','zone2');
Query OK, 0 rows affected (0.20 sec)

mysql> alter resource pool my_pool ZONE_LIST=('zone1','zone2');
Query OK, 0 rows affected (0.29 sec)

查看资源池信息,sys_pool、my_pool资源池(sys_pool是系统资源池,my_pool是我创建的测试资源池)的ZONE_LIST包括:zone1、zone2

mysql> select * from DBA_OB_RESOURCE_POOLS;
+------------------+----------+-----------+----------------------------+----------------------------+------------+----------------+-------------+--------------+
| RESOURCE_POOL_ID | NAME     | TENANT_ID | CREATE_TIME                | MODIFY_TIME                | UNIT_COUNT | UNIT_CONFIG_ID | ZONE_LIST   | REPLICA_TYPE |
+------------------+----------+-----------+----------------------------+----------------------------+------------+----------------+-------------+--------------+
|                1 | sys_pool |         1 | 2023-04-24 18:33:06.599543 | 2023-05-09 09:41:36.796368 |          1 |              1 | zone1;zone2 | FULL         |
|             1007 | my_pool  |      1004 | 2023-04-25 15:43:45.381999 | 2023-05-09 09:41:43.783302 |          1 |           1003 | zone1;zone2 | FULL         |
+------------------+----------+-----------+----------------------------+----------------------------+------------+----------------+-------------+--------------+

删除节点

查看节点信息

mysql> select * from DBA_OB_SERVERS;
+--------------+----------+----+-------+----------+-----------------+--------+----------------------------+-----------+-----------------------+----------------------------+----------------------------+-------------------------------------------------------------------------------------------+
| SVR_IP       | SVR_PORT | ID | ZONE  | SQL_PORT | WITH_ROOTSERVER | STATUS | START_SERVICE_TIME         | STOP_TIME | BLOCK_MIGRATE_IN_TIME | CREATE_TIME                | MODIFY_TIME                | BUILD_VERSION                                                                             |
+--------------+----------+----+-------+----------+-----------------+--------+----------------------------+-----------+-----------------------+----------------------------+----------------------------+-------------------------------------------------------------------------------------------+
| 192.168.1.71 |     2882 |  1 | zone1 |     2881 | YES             | ACTIVE | 2023-05-06 15:14:10.951435 | NULL      | NULL                  | 2023-04-24 18:32:52.606554 | 2023-05-09 05:01:04.983560 | 4.0.0.0_100000272022110114-6af7f9ae79cd0ecbafd4b1b88e2886ccdba0c3be(Nov  1 2022 14:57:18) |
| 192.168.1.72 |     2882 |  2 | zone2 |     2881 | NO              | ACTIVE | 2023-05-06 15:07:46.780470 | NULL      | NULL                  | 2023-04-24 18:32:52.245134 | 2023-05-09 05:01:05.072178 | 4.0.0.0_100000272022110114-6af7f9ae79cd0ecbafd4b1b88e2886ccdba0c3be(Nov  1 2022 14:57:18) |
| 192.168.1.73 |     2882 |  4 | zone3 |     2881 | NO              | ACTIVE | 2023-05-08 18:08:33.287859 | NULL      | NULL                  | 2023-05-08 18:08:26.713833 | 2023-05-09 05:01:05.686120 | 4.0.0.0_100000272022110114-6af7f9ae79cd0ecbafd4b1b88e2886ccdba0c3be(Nov  1 2022 14:57:18) |
+--------------+----------+----+-------+----------+-----------------+--------+----------------------------+-----------+-----------------------+----------------------------+----------------------------+-------------------------------------------------------------------------------------------+

隔离192.168.1.73节点

mysql> alter system stop server '192.168.1.73:2882';
Query OK, 0 rows affected (0.94 sec)

查看节点信息,192.168.1.73节点STOP_TIME值是隔离的时间点

mysql> select * from DBA_OB_SERVERS;
+--------------+----------+----+-------+----------+-----------------+--------+----------------------------+----------------------------+-----------------------+----------------------------+----------------------------+-------------------------------------------------------------------------------------------+
| SVR_IP       | SVR_PORT | ID | ZONE  | SQL_PORT | WITH_ROOTSERVER | STATUS | START_SERVICE_TIME         | STOP_TIME                  | BLOCK_MIGRATE_IN_TIME | CREATE_TIME                | MODIFY_TIME                | BUILD_VERSION                                                                             |
+--------------+----------+----+-------+----------+-----------------+--------+----------------------------+----------------------------+-----------------------+----------------------------+----------------------------+-------------------------------------------------------------------------------------------+
| 192.168.1.71 |     2882 |  1 | zone1 |     2881 | YES             | ACTIVE | 2023-05-06 15:14:10.951435 | NULL                       | NULL                  | 2023-04-24 18:32:52.606554 | 2023-05-09 05:01:04.983560 | 4.0.0.0_100000272022110114-6af7f9ae79cd0ecbafd4b1b88e2886ccdba0c3be(Nov  1 2022 14:57:18) |
| 192.168.1.72 |     2882 |  2 | zone2 |     2881 | NO              | ACTIVE | 2023-05-06 15:07:46.780470 | NULL                       | NULL                  | 2023-04-24 18:32:52.245134 | 2023-05-09 05:01:05.072178 | 4.0.0.0_100000272022110114-6af7f9ae79cd0ecbafd4b1b88e2886ccdba0c3be(Nov  1 2022 14:57:18) |
| 192.168.1.73 |     2882 |  4 | zone3 |     2881 | NO              | ACTIVE | 2023-05-08 18:08:33.287859 | 2023-05-09 09:46:20.363214 | NULL                  | 2023-05-08 18:08:26.713833 | 2023-05-09 09:46:20.391424 | 4.0.0.0_100000272022110114-6af7f9ae79cd0ecbafd4b1b88e2886ccdba0c3be(Nov  1 2022 14:57:18) |
+--------------+----------+----+-------+----------+-----------------+--------+----------------------------+----------------------------+-----------------------+----------------------------+----------------------------+-------------------------------------------------------------------------------------------+

到192.168.1.73节点上的observer服务

[root]# kill -9 `pidof observer`

 查看节点信息,192.168.1.73节点状态为INACTIVE

mysql> select * from DBA_OB_SERVERS;
+--------------+----------+----+-------+----------+-----------------+----------+----------------------------+----------------------------+-----------------------+----------------------------+----------------------------+-------------------------------------------------------------------------------------------+
| SVR_IP       | SVR_PORT | ID | ZONE  | SQL_PORT | WITH_ROOTSERVER | STATUS   | START_SERVICE_TIME         | STOP_TIME                  | BLOCK_MIGRATE_IN_TIME | CREATE_TIME                | MODIFY_TIME                | BUILD_VERSION                                                                             |
+--------------+----------+----+-------+----------+-----------------+----------+----------------------------+----------------------------+-----------------------+----------------------------+----------------------------+-------------------------------------------------------------------------------------------+
| 192.168.1.71 |     2882 |  1 | zone1 |     2881 | YES             | ACTIVE   | 2023-05-06 15:14:10.951435 | NULL                       | NULL                  | 2023-04-24 18:32:52.606554 | 2023-05-09 05:01:04.983560 | 4.0.0.0_100000272022110114-6af7f9ae79cd0ecbafd4b1b88e2886ccdba0c3be(Nov  1 2022 14:57:18) |
| 192.168.1.72 |     2882 |  2 | zone2 |     2881 | NO              | ACTIVE   | 2023-05-06 15:07:46.780470 | NULL                       | NULL                  | 2023-04-24 18:32:52.245134 | 2023-05-09 05:01:05.072178 | 4.0.0.0_100000272022110114-6af7f9ae79cd0ecbafd4b1b88e2886ccdba0c3be(Nov  1 2022 14:57:18) |
| 192.168.1.73 |     2882 |  4 | zone3 |     2881 | NO              | INACTIVE | NULL                       | 2023-05-09 09:46:20.363214 | NULL                  | 2023-05-08 18:08:26.713833 | 2023-05-09 09:47:02.583856 | 4.0.0.0_100000272022110114-6af7f9ae79cd0ecbafd4b1b88e2886ccdba0c3be(Nov  1 2022 14:57:18) |
+--------------+----------+----+-------+----------+-----------------+----------+----------------------------+----------------------------+-----------------------+----------------------------+----------------------------+-------------------------------------------------------------------------------------------+

删除192.168.1.73节点

mysql> alter system delete server '192.168.1.73:2882';
Query OK, 0 rows affected (0.23 sec)

 查看节点信息,此时已经看不到192.168.1.73节点的信息

mysql> select * from DBA_OB_SERVERS;
+--------------+----------+----+-------+----------+-----------------+--------+----------------------------+-----------+-----------------------+----------------------------+----------------------------+-------------------------------------------------------------------------------------------+
| SVR_IP       | SVR_PORT | ID | ZONE  | SQL_PORT | WITH_ROOTSERVER | STATUS | START_SERVICE_TIME         | STOP_TIME | BLOCK_MIGRATE_IN_TIME | CREATE_TIME                | MODIFY_TIME                | BUILD_VERSION                                                                             |
+--------------+----------+----+-------+----------+-----------------+--------+----------------------------+-----------+-----------------------+----------------------------+----------------------------+-------------------------------------------------------------------------------------------+
| 192.168.1.71 |     2882 |  1 | zone1 |     2881 | YES             | ACTIVE | 2023-05-06 15:14:10.951435 | NULL      | NULL                  | 2023-04-24 18:32:52.606554 | 2023-05-09 05:01:04.983560 | 4.0.0.0_100000272022110114-6af7f9ae79cd0ecbafd4b1b88e2886ccdba0c3be(Nov  1 2022 14:57:18) |
| 192.168.1.72 |     2882 |  2 | zone2 |     2881 | NO              | ACTIVE | 2023-05-06 15:07:46.780470 | NULL      | NULL                  | 2023-04-24 18:32:52.245134 | 2023-05-09 05:01:05.072178 | 4.0.0.0_100000272022110114-6af7f9ae79cd0ecbafd4b1b88e2886ccdba0c3be(Nov  1 2022 14:57:18) |
+--------------+----------+----+-------+----------+-----------------+--------+----------------------------+-----------+-----------------------+----------------------------+----------------------------+-------------------------------------------------------------------------------------------+

 删除zone3

 查看ZONE信息

mysql> select * from DBA_OB_ZONES;
+-------+----------------------------+----------------------------+--------+-----+----------------+-----------+
| ZONE  | CREATE_TIME                | MODIFY_TIME                | STATUS | IDC | REGION         | TYPE      |
+-------+----------------------------+----------------------------+--------+-----+----------------+-----------+
| zone1 | 2023-04-24 18:33:07.113435 | 2023-04-24 18:33:07.113435 | ACTIVE |     | default_region | ReadWrite |
| zone2 | 2023-04-24 18:33:07.113435 | 2023-04-24 18:33:07.113435 | ACTIVE |     | default_region | ReadWrite |
| zone3 | 2023-05-08 18:03:47.864105 | 2023-05-08 18:07:34.943350 | ACTIVE |     | default_region | ReadWrite |
+-------+----------------------------+----------------------------+--------+-----+----------------+-----------+

关闭zone3

mysql> alter system stop zone zone3;
Query OK, 0 rows affected (0.41 sec)

查看ZONE信息,此时zone3的状态为INACTIVE(待激活)

mysql> select * from DBA_OB_ZONES;
+-------+----------------------------+----------------------------+----------+-----+----------------+-----------+
| ZONE  | CREATE_TIME                | MODIFY_TIME                | STATUS   | IDC | REGION         | TYPE      |
+-------+----------------------------+----------------------------+----------+-----+----------------+-----------+
| zone1 | 2023-04-24 18:33:07.113435 | 2023-04-24 18:33:07.113435 | ACTIVE   |     | default_region | ReadWrite |
| zone2 | 2023-04-24 18:33:07.113435 | 2023-04-24 18:33:07.113435 | ACTIVE   |     | default_region | ReadWrite |
| zone3 | 2023-05-08 18:03:47.864105 | 2023-05-09 09:49:24.709821 | INACTIVE |     | default_region | ReadWrite |
+-------+----------------------------+----------------------------+----------+-----+----------------+-----------+

删除zone3

mysql> alter system delete zone zone3;
Query OK, 0 rows affected (0.13 sec)

查看ZONE信息,此时已经看不到zone3的信息

mysql> select * from DBA_OB_ZONES;
+-------+----------------------------+----------------------------+--------+-----+----------------+-----------+
| ZONE  | CREATE_TIME                | MODIFY_TIME                | STATUS | IDC | REGION         | TYPE      |
+-------+----------------------------+----------------------------+--------+-----+----------------+-----------+
| zone1 | 2023-04-24 18:33:07.113435 | 2023-04-24 18:33:07.113435 | ACTIVE |     | default_region | ReadWrite |
| zone2 | 2023-04-24 18:33:07.113435 | 2023-04-24 18:33:07.113435 | ACTIVE |     | default_region | ReadWrite |
+-------+----------------------------+----------------------------+--------+-----+----------------+-----------+

 

删除ZONE参考:https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001687939
删除节点参考:https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001692877