欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/
修改资源池属性,即是调整资源池配置的 UNIT、UNIT_NUM、ZONE_LIST 等参数信息。本文介绍如何修改资源池属性。
资源池属性可以通过 ALTER RESOURCE POOL 语句进行修改。
修改租户资源池属性是实现租户扩容或缩容的另一种方式。例如,调大 UNIT_NUM 可以增加每个 Zone 中节点数量达到扩容的目的。
说明
当前版本暂不支持对租户资源池进行调小操作。
操作步骤
使用 root 用户登录到集群的 sys 租户。
obclient -h172.30.xx.xx -P2883 -uroot@sys#cluster -p**** -A进入
oceanbase数据库。obclient [(none)]> USE oceanbase;通过
DBA_OB_RESOURCE_POOLS视图,获取资源池的配置信息。以查询资源池
mq_pool_02的配置信息为例:obclient [oceanbase]> SELECT * FROM DBA_OB_RESOURCE_POOLS WHERE NAME = 'mq_pool_02'; +------------------+------------+-----------+----------------------------+----------------------------+------------+----------------+-------------+--------------+ | RESOURCE_POOL_ID | NAME | TENANT_ID | CREATE_TIME | MODIFY_TIME | UNIT_COUNT | UNIT_CONFIG_ID | ZONE_LIST | REPLICA_TYPE | +------------------+------------+-----------+----------------------------+----------------------------+------------+----------------+-------------+--------------+ | 1026 | mq_pool_02 | NULL | 2023-01-10 23:54:24.177685 | 2023-01-10 23:54:24.177685 | 1 | 1020 | zone1;zone2 | FULL | +------------------+------------+-----------+----------------------------+----------------------------+------------+----------------+-------------+--------------+ 1 row in setDBA_OB_RESOURCE_POOLS视图的详细说明,参见 oceanbase.DBA_OB_RESOURCE_POOLS。通过
ALTER RESOURCE POOL语句,修改资源池配置。注意
- 单条语句只能修改一个属性,如果需要同时修改
UNIT、UNIT_NUM、ZONE_LIST中两条及以上的属性,需要分多条语句执行。 - 修改
ZONE_LIST时,每次仅支持添加或删除一个 Zone。
语法如下:
ALTER RESOURCE POOL pool_name UNIT [=] unit_name, UNIT_NUM [=] unit_num, ZONE_LIST [=] ('zone' [, 'zone' ...]);参数说明:
pool_name:资源池名称。UNIT:该资源池的资源规格。UNIT_NUM:资源单元个数。增加 Unit 数量时,UNIT_NUM的值不能大于每个 Zone 内 OBServer 的个数。注意
如果该资源池已经被租户使用,无法通过修改资源池属性的方式修改,需要通过
ALTER RESOURCE TENANT语句进行修改。ZONE_LIST:资源池的 Zone 分布。
ALTER RESOURCE POOL语句的详细说明,参见 ALTER RESOURCE POOL。ALTER RESOURCE TENANT语句的详细说明,参见 ALTER RESOURCE TENANT。示例:
资源池未被分配给租户
修改资源池
mq_pool_02的资源规格为'S2_unit_config',资源单元个数为 3,ZONE_LIST为'zone1','zone2','zone3'。obclient [oceanbase]> ALTER RESOURCE POOL mq_pool_02 UNIT='S2_unit_config'; Query OK, 0 rows affected obclient [oceanbase]> ALTER RESOURCE POOL mq_pool_02 UNIT_NUM=3; Query OK, 0 rows affected obclient [oceanbase]> ALTER RESOURCE POOL mq_pool_02 ZONE_LIST=('zone1','zone2','zone3'); Query OK, 0 rows affected资源池已被分配给租户
租户资源池修改配置时,UNIT_NUM 需要通过
ALTER RESOURCE TENANT语句进行修改。修改资源池
mq_pool_02的资源规格为'S2_unit_config',资源单元个数为 3,ZONE_LIST 为'zone1','zone2','zone3'。obclient [oceanbase]> ALTER RESOURCE POOL mq_pool_02 UNIT='S2_unit_config'; Query OK, 0 rows affected obclient [oceanbase]> ALTER RESOURCE TENANT mq_t2 UNIT_NUM=3; Query OK, 0 rows affected obclient [oceanbase]> ALTER RESOURCE POOL mq_pool_02 ZONE_LIST=('zone1','zone2','zone3'); Query OK, 0 rows affected
- 单条语句只能修改一个属性,如果需要同时修改
查看
DBA_OB_RESOURCE_POOLS视图,确认资源池配置修改结果。结果如下,可以看到
UNIT_COUNT、UNIT_CONFIG_ID、ZONE_LIST参数已经更新。obclient [oceanbase]> SELECT * FROM DBA_OB_RESOURCE_POOLS WHERE NAME = 'mq_pool_02'; +------------------+------------+-----------+----------------------------+----------------------------+------------+----------------+-------------------+--------------+ | RESOURCE_POOL_ID | NAME | TENANT_ID | CREATE_TIME | MODIFY_TIME | UNIT_COUNT | UNIT_CONFIG_ID | ZONE_LIST | REPLICA_TYPE | +------------------+------------+-----------+----------------------------+----------------------------+------------+----------------+-------------------+--------------+ | 1026 | mq_pool_02 | NULL | 2023-01-10 23:54:24.177685 | 2023-01-10 23:56:04.961771 | 2 | 1021 | zone1;zone2;zone3 | FULL | +------------------+------------+-----------+----------------------------+----------------------------+------------+----------------+-------------------+--------------+ 1 row in set
欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/




