欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/
租户扩容和缩容本质上是提高和降低租户的服务能力,包括计算能力和存储容量。可以通过提高单节点的服务能力达成,也可以通过增加服务节点达成。本文介绍如何通过修改 Unit Number,从而增加或减少服务节点,达到租户总服务能力的提升或降低,实现租户的扩容或缩容。
使用限制
OceanBase 数据库 V4.0.0 版本暂不支持调小 Unit Number。
前提条件
在进行租户的扩容和缩容操作前,需要进行以下操作:
由于空闲的资源池会被计算为占用的资源,故在扩容前,如果有租户被删除,建议与租户对应的资源池也一并删除,以便释放资源。
删除资源池的相关操作,参见 删除资源池。
进行租户缩容前,建议进行一轮转储以便释放租户正在使用的内存。
手动触发转储的相关操作,参见 手动触发转储。
查看集群中资源的分配情况,了解集群中资源的使用情况。
查看集群节点的资源总量和分配状态的相关操作,参见 查看集群的资源信息。
操作步骤
下面以调整租户 mq_t1 的 Unit Number 为例来介绍操作方法。
使用 root 用户登录到集群的 sys 租户。
obclient -h172.30.xxx.xxx -P2883 -uroot@sys -pxxxx -A进入
oceanbase数据库。obclient>use oceanbase;查看租户
mq_t1信息,获取其TENANT_ID。obclient> SELECT * FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_NAME = 'mq_t1'; +-----------+-------------+-------------+----------------------------+----------------------------+----------------------------------------+------------------------------------------------------------------+-------------------+--------------------+--------+---------------+--------+ | TENANT_ID | TENANT_NAME | TENANT_TYPE | CREATE_TIME | MODIFY_TIME | PRIMARY_ZONE | LOCALITY | PREVIOUS_LOCALITY | COMPATIBILITY_MODE | STATUS | IN_RECYCLEBIN | LOCKED | +-----------+-------------+-------------+----------------------------+----------------------------+----------------------------------------+------------------------------------------------------------------+-------------------+--------------------+--------+---------------+--------+ | 1004 | mq_t1 | USER | 2023-01-04 18:32:08.212745 | 2023-01-04 18:32:33.343667 | sa128_obv4_1;sa128_obv4_2,sa128_obv4_3 | FULL{1}@sa128_obv4_1, FULL{1}@sa128_obv4_2, FULL{1}@sa128_obv4_3 | NULL | MYSQL | NORMAL | NO | NO | +-----------+-------------+-------------+----------------------------+----------------------------+----------------------------------------+------------------------------------------------------------------+-------------------+--------------------+--------+---------------+--------+ 1 row in set查看租户
mq_t1所拥有的 Unit。obclient> SELECT * FROM oceanbase.DBA_OB_UNITS WHERE TENANT_ID = 1004; +---------+-----------+--------+------------------+---------------+----------------------------+----------------------------+--------------+------------+----------+---------------------+-----------------------+----------------+----------------+---------+---------+-------------+---------------+----------+----------+-------------+ | UNIT_ID | TENANT_ID | STATUS | RESOURCE_POOL_ID | UNIT_GROUP_ID | CREATE_TIME | MODIFY_TIME | ZONE | SVR_IP | SVR_PORT | MIGRATE_FROM_SVR_IP | MIGRATE_FROM_SVR_PORT | MANUAL_MIGRATE | UNIT_CONFIG_ID | MAX_CPU | MIN_CPU | MEMORY_SIZE | LOG_DISK_SIZE | MAX_IOPS | MIN_IOPS | IOPS_WEIGHT | +---------+-----------+--------+------------------+---------------+----------------------------+----------------------------+--------------+------------+----------+---------------------+-----------------------+----------------+----------------+---------+---------+-------------+---------------+----------+----------+-------------+ | 1004 | 1004 | ACTIVE | 1005 | 1003 | 2023-01-04 11:48:36.582413 | 2023-01-04 18:32:08.215935 | sa128_obv4_1 | xx.xx.xx.47 | 2882 | NULL | NULL | NULL | 1006 | 3 | 3 | 12884901888 | 38654705664 | 30000 | 30000 | 3 | | 1005 | 1004 | ACTIVE | 1005 | 1003 | 2023-01-04 11:48:36.591414 | 2023-01-04 18:32:08.215935 | sa128_obv4_2 | xx.xx.xx.81 | 2882 | NULL | NULL | NULL | 1006 | 3 | 3 | 12884901888 | 38654705664 | 30000 | 30000 | 3 | | 1006 | 1004 | ACTIVE | 1005 | 1003 | 2023-01-04 14:13:36.980799 | 2023-01-04 18:32:08.217005 | sa128_obv4_3 | xx.xx.xx.19 | 2882 | NULL | NULL | NULL | 1006 | 3 | 3 | 12884901888 | 38654705664 | 30000 | 30000 | 3 | +---------+-----------+--------+------------------+---------------+----------------------------+----------------------------+--------------+------------+----------+---------------------+-----------------------+----------------+----------------+---------+---------+-------------+---------------+----------+----------+-------------+ 3 rows in set查看租户
mq_t1目前所拥有的日志流。obclient> SELECT * FROM oceanbase.CDB_OB_LS WHERE TENANT_ID = 1004; +-----------+-------+--------+----------------------------------------+---------------+-------------+---------------------+----------+---------------------+---------------------+ | TENANT_ID | LS_ID | STATUS | PRIMARY_ZONE | UNIT_GROUP_ID | LS_GROUP_ID | CREATE_SCN | DROP_SCN | SYNC_SCN | READABLE_SCN | +-----------+-------+--------+----------------------------------------+---------------+-------------+---------------------+----------+---------------------+---------------------+ | 1004 | 1 | NORMAL | sa128_obv4_1;sa128_obv4_2,sa128_obv4_3 | 0 | 0 | NULL | NULL | 1672847276585423284 | 1672847276297748492 | | 1004 | 1001 | NORMAL | sa128_obv4_1;sa128_obv4_2,sa128_obv4_3 | 1003 | 1001 | 1672828353411747395 | NULL | 1672847283647357012 | 1672847283446006907 | +-----------+-------+--------+----------------------------------------+---------------+-------------+---------------------+----------+---------------------+---------------------+ 2 rows in set把租户
mq_t1的UNIT_NUM修改为 2。obclient> ALTER RESOURCE TENANT mq_t1 UNIT_NUM = 2;查看租户
mq_t1修改后的 Unit。obclient> SELECT * FROM oceanbase.DBA_OB_UNITS WHERE TENANT_ID = 1004; +---------+-----------+--------+------------------+---------------+----------------------------+----------------------------+--------------+-------------+----------+---------------------+-----------------------+----------------+----------------+---------+---------+-------------+---------------+----------+----------+-------------+ | UNIT_ID | TENANT_ID | STATUS | RESOURCE_POOL_ID | UNIT_GROUP_ID | CREATE_TIME | MODIFY_TIME | ZONE | SVR_IP | SVR_PORT | MIGRATE_FROM_SVR_IP | MIGRATE_FROM_SVR_PORT | MANUAL_MIGRATE | UNIT_CONFIG_ID | MAX_CPU | MIN_CPU | MEMORY_SIZE | LOG_DISK_SIZE | MAX_IOPS | MIN_IOPS | IOPS_WEIGHT | +---------+-----------+--------+------------------+---------------+----------------------------+----------------------------+--------------+-------------+----------+---------------------+-----------------------+----------------+----------------+---------+---------+-------------+---------------+----------+----------+-------------+ | 1004 | 1004 | ACTIVE | 1005 | 1003 | 2023-01-04 11:48:36.582413 | 2023-01-04 18:32:08.215935 | sa128_obv4_1 | xx.xx.xx.47 | 2882 | NULL | NULL | NULL | 1006 | 3 | 3 | 12884901888 | 38654705664 | 30000 | 30000 | 3 | | 1005 | 1004 | ACTIVE | 1005 | 1003 | 2023-01-04 11:48:36.591414 | 2023-01-04 18:32:08.215935 | sa128_obv4_2 | xx.xx.xx.81 | 2882 | NULL | NULL | NULL | 1006 | 3 | 3 | 12884901888 | 38654705664 | 30000 | 30000 | 3 | | 1006 | 1004 | ACTIVE | 1005 | 1003 | 2023-01-04 14:13:36.980799 | 2023-01-04 18:32:08.217005 | sa128_obv4_3 | xx.xx.xx.19 | 2882 | NULL | NULL | NULL | 1006 | 3 | 3 | 12884901888 | 38654705664 | 30000 | 30000 | 3 | | 1007 | 1004 | ACTIVE | 1005 | 1004 | 2023-01-04 23:50:57.989966 | 2023-01-04 23:50:57.989966 | sa128_obv4_1 | xx.xx.xx.43 | 2882 | NULL | NULL | NULL | 1006 | 3 | 3 | 12884901888 | 38654705664 | 30000 | 30000 | 3 | | 1008 | 1004 | ACTIVE | 1005 | 1004 | 2023-01-04 23:50:57.995273 | 2023-01-04 23:50:57.995273 | sa128_obv4_2 | xx.xx.xx.106 | 2882 | NULL | NULL | NULL | 1006 | 3 | 3 | 12884901888 | 38654705664 | 30000 | 30000 | 3 | | 1009 | 1004 | ACTIVE | 1005 | 1004 | 2023-01-04 23:50:57.997360 | 2023-01-04 23:50:57.997360 | sa128_obv4_3 | xx.xx.xx.158 | 2882 | NULL | NULL | NULL | 1006 | 3 | 3 | 12884901888 | 38654705664 | 30000 | 30000 | 3 | +---------+-----------+--------+------------------+---------------+----------------------------+----------------------------+--------------+-------------+----------+---------------------+-----------------------+----------------+----------------+---------+---------+-------------+---------------+----------+----------+-------------+ 6 rows in set查看租户
mq_t1修改后的日志流。obclient> SELECT * FROM oceanbase.CDB_OB_LS WHERE TENANT_ID = 1004; +-----------+-------+--------+----------------------------------------+---------------+-------------+---------------------+----------+---------------------+---------------------+ | TENANT_ID | LS_ID | STATUS | PRIMARY_ZONE | UNIT_GROUP_ID | LS_GROUP_ID | CREATE_SCN | DROP_SCN | SYNC_SCN | READABLE_SCN | +-----------+-------+--------+----------------------------------------+---------------+-------------+---------------------+----------+---------------------+---------------------+ | 1004 | 1 | NORMAL | sa128_obv4_1;sa128_obv4_2,sa128_obv4_3 | 0 | 0 | NULL | NULL | 1672847476919847432 | 1672847476694110593 | | 1004 | 1001 | NORMAL | sa128_obv4_1;sa128_obv4_2,sa128_obv4_3 | 1003 | 1001 | 1672828353411747395 | NULL | 1672847481926946171 | 1672847481725653432 | | 1004 | 1002 | NORMAL | sa128_obv4_1;sa128_obv4_2,sa128_obv4_3 | 1004 | 1002 | 1672847466822734122 | NULL | 1672847481906918109 | 1672847481705364375 | +-----------+-------+--------+----------------------------------------+---------------+-------------+---------------------+----------+---------------------+---------------------+ 3 rows in set
通过上述示例,将租户 mq_t1 的 Unit Number 从 1 变更为 2 。变更前租户在每个 Zone 的 Unit 个数为 1,对应的日志流个数为 1;变更后租户在每个 Zone 的 Unit 个数为 2,对应的日志流个数为 2,从而实现了租户扩容。
欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/




