绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
调整 OceanBase 配置项参数
2022-02-21 17:04:50

OBServer 系统参数和变量

集群初始化成功后,默认会有一个租户 sys,保存集群的所有元数据、参数等。管理 OceanBase 集群就是通过登录 sys 租户。

参数与变量的区别

系统参数

通常,在集群级别设置的配置相关变量称为参数**(parameters)**。参数的改变会记录到__all_sys_parameter 和参数文件observer.config.bin(二进制格式文件)中,每个节点都保存一份。

参数文件路径

OceanBase 集群参数修改后都会立即持久化到本地参数文件里,可以通过参数config_additional_dir 指定本地参数文件路径

show parameters like '%config_additional_dir%'\G

每次修改后,参数文件都会保留上一个版本在文件observer.config.bin.history里,以避免参数修改错误导致集群启动失败。



启动目录下有三个文件夹:etc etc2 etc3 ,下面都有参数文件以及其历史文件备份。进程 observer 默认会读取文件夹 etc 中的参数文件,其他两个目录是参数文件的备份,这个备份路径也是通过参数 config_additional_dir 指定的,默认值是同一个启动目录的 etc2 和 etc3

隐含参数

__开头的参数称为隐含参数

系统变量(租户参数)

通常,在租户 (tenant) 级别设置的配置相关变量称为变量**(variables)**。变量的修改会记录到__all_virtual_sys_variable,如:set global autocommit=off;

影响范围

  • 租户全局范围
  • 会话层面
  • 语句层面(SQL Hint)

查看系统变量和系统参数

查看参数

数据字典

命令用法

-- 查看 OceanBase 集群参数的命令是 :
show parameters [ like '%参数名特征%' ] ; 
或 
show parameters where name in ( '参数名1' , '参数名2' ) ; 
-- 不带 like 子句就是查看所有参数。

示例

select * from __all_sys_parameter 
-- where name like '%_ob_enable_prepared_statement%';

show parameters;
show parameters like 'memory_limit%';

show parameters
where name in (
'memory_limit_percentage',
'memory_limit',
'enable_sql_audit',
'enable_rebalance'
);

OS 层查看

strings observer.config.bin | grep -E "minor_freeze_times|freeze_trigger_percentage"

实际中,并不是所有参数都在这个参数文件里。只有那些被 alter system set 命令修改过的参数,以及在进程 observer 启动时通过 -o 指定的参数,才会记录在参数文件里。其他参数都是取自默认值(写在进程 observer 的代码里)

查看变量

用法

show global | session variables like '%变量名部分字段%' ;

示例

select * from __all_virtual_sys_variable
-- where name like '%commit%';

show global variables like '%timeout%';

show global variables where variable_name in ('ob_query_timeout','ob_trx_timeout','ob_trx_idle_timeout');

修改系统变量和参数

调整系统参数

SQL 语法方式

用法

alter system set 参数名='参数值' [ server = '节点IP:节点RPC端口' ] ; -- 不指定 server 子句就是表示参数修改应用于所有 OceanBase 集群节点

示例

alter system set minor_freeze_times=100;
-- 修改指定节点
alter system set freeze_trigger_percentage=75 server='192.168.10.132:2882';    

OBD 工具调整配置

通过 SQL 语句方式在 OceanBase 集群里修改参数后,会立即同步到集群节点自身的参数文件 (etc/observer.config.bin) 中,但是不会同步到 OBD 的集群部署配置文件中。这就有可能造成当使用 odb 重启OceanBase 集群时使用了旧版本的配置的风险。

obd cluster edit-config 命令调整集群配置

]$ obd cluster edit-config biu



reload 加载集群配置

 obd cluster reload biu

启动 observer 进程时指定参数

bin/observer -o "max_syslog_file_count=15,datafile_size=60G"

调整系统变量

语法

set global | session 变量名 =  '变量值' ;

示例

租户变量ob_tcp_invited_nodes可以针对访问来源设置白名单。白名单格式可以是'%',表示允许所有的来源。也可以是一个或多个具体的IP或者子网。
set global ob_tcp_invited_nodes='127.0.0.1,192.168.0.0/16';

注意:

  • 变量 ob_compatibility_mode :表示租户兼容性。只能在创建租户时指定该变量,后期不允许改变


OBProxy 配置调整

查看参数

通过参数文件中查看

strings /ups/app/oceanbase/obproxy/etc/observer.config.bin |grep -i 'syslog_level'

客户端连接到 proxysys 查看

-- obclient -h 192.168.10.201 -u root@proxysys -P 2883
show proxyconfig like '%sys_password%';

调整参数

通过 obd 工具调整参数项

obd cluster edit-config <集群名称>
obd cluster reload <集群名称>

使用客户端工具连接到 proxysys 调整

-- 修改 OBPROXY 用户密码
alter proxyconfig set obproxy_sys_password = 'p#ssw0rd';
来源 https://zhuanlan.zhihu.com/p/464502518


分享好友

分享这个小栈给你的朋友们,一起进步吧。

OceanBase
创建时间:2022-02-18 17:50:43
OceanBase
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • itt0918
    专家
戳我,来吐槽~