OceanBase(4)OceanBase集群的日常运维

TangLu 未命名 2022-05-23 931 0

一、OceanBase集群参数(parameters)管理

1、登录OceanBase

# 直连OBServer,用户名格式为用户名@实例名,使用mysql客户端或者obclient都可以
mysql -h172.20.1.190 -uroot@sys -P2881 -p123456 -C -A oceanbase
obclient -h172.20.1.190 -uroot@sys -P2881 -p123456 -C -A oceanbase

# 通过OBProxy连接,用户名格式为用户名@实例名#集群名
mysql -h172.20.1.190 -uroot@obdemo#obmysql -P2883 -p123456 -C -A oceanbase
obclient -h172.20.1.190 -uroot@obdemo#obmysql -P2883 -p123456 -C -A oceanbase


2、修改OceanBase参数,可以按照不同的生效域进行设置,会持久化到内部表oceanbase.__all_sys_parameter、oceanbase.__tenant_parameter

#查看进程启动参数
ps aux | grep observer

#查看OBServer指定参数(需先登录客户端)
show parameters like '%memory_limit%';
show parameters like '%syslog_level%';

#修改参数,如果没指定zone参数的话则是对所有zone生效
alter system set syslog_level='WARN';
alter system set memory_limit='10G' zone='zone1';
alter system set memory_limit='10G' server=='192.168.1.101';
alter system set memory_limit='10G' tenant=='test_tenant_1';
alter system set memory_limit='10G' tenant=='all';


二、OBProxy集群的参数管理

1、登录OBProxy

obclient -h172.20.1.190 -uroot@proxysys -P2883 -p123456


2、修改OBProxy参数

#查看参数
show proxyconfig like '%syslog%';

#修改参数
alter proxyconfig set syslog_level='ERROR';

#查看进程启动参数
ps aux | grep obproxy


三、OceanBase的变量(variables)管理

OceanBase的变量修改分为了全局和会话层面,全局层面修改后对当前会话不生效,需要进行重新连接,并且持久化配置到__all_virtual_sys_variable表,会话层面的修改会立即生效,但是不进行持久化,推出会话则失效。OceanBase常用变量:

ob_tcp_invited_nodes:指定租户访问的IP白名单,多个地址用逗号分隔,默认值127.0.0.1,同MySQL中的用户授权网段

ob_query_timeout:SQL超时时间,单位为微妙,默认10000000(10秒)

ob_trx_idle_timeout:空闲事务超时间,单位为微妙

ob_trx_timeout:未提交事务的超时时间,单位为微妙

ob_trx_lock_timeout:事务锁等待超时时间,默认为-1,不进行限制

show global|session variables like '%timeout%'
set global|session ob_query_timeout = 100000000;


四、重启OBServer集群

ps aux | grep observer
kill -9 12525

observer -o "syslog_level=ERROR"


评论