集群参数管理
OceanBase 集群配置可以通过集群参数和租户参数进行设定。
集群参数:集群级别和租户级别
参数:动态生效和重启生效。
通过集群参数的设置可以控制集群的负载均衡、合并时间、合并方式、资源分配和模块开关等功能。
系统租户:查看和设置所有其他租户的参数(包括 sys 租户)。
普通租户:只能设置自己租户的参数。
不同租户对集群参数的查看和修改级别:
租户类型 | 参数查看 | 参数设置 |
|---|---|---|
系统租户 | 查看集群参数和其他租户参数 | 可以设置集群参数或指定租户的参数 |
普通租户 | 只能查看本租户的参数 | 只能设置本租户的参数 |
当 OBServer 启动后,如果没有指定参数,则使用系统指定的参数 Default 值。在 observer 进程启动成功后,参数值持久化到 /home/admin/oceanbase/etc/observer.config.bin 文件中,通过 strings 命令查看内容。
集群参数查询
查询集群参数:SQL 语句或 OCP
通过 SQL 语句查询
系统租户和普通租户查询集群参数的语句:
系统租户查询集群参数的语法 ----系统租户查询要加租户名
SHOW PARAMETERS [SHOW_PARAM_OPTS] [tenant='tenant'];普通租户查询集群参数的语法
SHOW PARAMETERS [SHOW_PARAM_OPTS]其中各参数的含义如下:
[SHOW_PARAM_OPTS]:值可指定为[LIKE 'pattern' | WHERE expr]。[tenant='tenant']:系统租户查看集群参数时需指定租户名。
具体示例:
系统租户
obclient> SHOW PARAMETERS LIKE 'sql_work_area' tenant=t1;
obclient> SHOW PARAMETERS WHERE edit_level='static_effective' AND name='sql_work_area' tenant=t1;普通租户
obclient> SHOW PARAMETERS LIKE 'sql_work_area';SHOW PARAMETERS 返回结果中的列属性:
列名 | 含义 |
|---|---|
zone | 所在的 Zone。 |
svr_ip | 机器 IP。 |
svr_port | 机器的端口。 |
name | 配置项名。 |
data_type | 配置项的数据类型,包括 |
value | 配置项的值。 |
info | 配置项的说明信息, |
section | 配置项所属的分类。 |
scope | 配置项范围属性:
|
source | 当前值来源:
|
edit_level | 定义该配置项的修改行为:
|
修改集群参数
通过 SQL 语句修改集群参数
集群参数即配置项,修改配置项的语法如下,同时修改多个系统配置项时,请用逗号(,)分隔。
ALTER SYSTEM SET param_name = expr
[COMMENT 'text']
[PARAM_OPTS]
[TENANT = 'tenantname']
PARAM_OPTS:
[ZONE='zone' | SERVER='server_ip:rpc_port']参数修改语句说明如下:
PARAM_OPTS是修改配置项时所指定的其它限定条件,例如,指定 Zone、指定 Server 等。ALTER SYSTEM语句不能同时指定 Zone 和 Server。并且在指定 Zone 时,仅支持指定一个 Zone;指定 Server 时,仅支持指定一个 Server。集群级别的配置项(
Scope) 不能通过普通租户设置,也不可以通过sys租户指定普通租户来设置。例如,ALTER SYSTEM SET memory_limit='100G' TENANT='test_tenant'将导致报错,因为memory_limit是集群级别(Scope)的配置项。
集群级别与租户级别的配置项设置会有所不同:
系统租户设置集群配置项的语法
ALTER SYSTEM SET mysql_port=8888 [PARAM_OPTS]
系统租户设置租户配置项的语法
ALTER SYSTEM SET clog_max_unconfirmed_log_count=1600 [PARAM_OPTS] TENANT=all|TENANT_NAME租户设置租户配置项的语法
ALTER SYSTEM SET clog_max_unconfirmed_log_count=1600 [PARAM_OPTS]系统租户也可以使用该命令修改系统租户本身的租户配置项的值。
示例如下:
系统租户设置集群配置项。
obclient> ALTER SYSTEM SET mysql_port=8888; obclient> ALTER SYSTEM SET mysql_port=8888 ZONE='z1'; obclient> ALTER SYSTEM SET mysql_port=8888 SERVER='192.168.100.1:2882';系统租户设置租户配置项。
obclient> ALTER SYSTEM SET clog_max_unconfirmed_log_count=1600 tenant='test_tenant';租户设置租户配置项。
obclient> ALTER SYSTEM SET clog_max_unconfirmed_log_count=1600; obclient> ALTER SYSTEM SET memory_limit = '100G' SERVER='192.168.100.1:2882'; obclient> ALTER SYSTEM SET memory_limit = '100G' ZONE='z1';




