首批通过分布式安全可靠测评,为关键业务系统打造
修改日志流降级控制时间
更新时间:2024-04-16 17:15:32
功能适用性
该内容仅适用于 OceanBase 数据库企业版。OceanBase 数据库社区版暂不支持仲裁服务功能。
使用租户级的仲裁服务时,需要配置日志流降级控制时间。当半数 F 副本故障导致日志同步失败并且达到日志流降级控制时间时,仲裁服务会自动执行日志流降级流程来恢复服务。日志流自动降级的控制时间默认为 5s,该值也表示在出现机房故障时服务中断的时间。
操作步骤
sys租户或用户租户的租户管理员登录到数据库。连接示例如下,连接数据库时请以实际环境为准。
obclient -h10.xx.xx.xx -P2883 -uroot@sys#obdemo -p***** -A有关更加详细的连接数据库的操作指引,参见 连接数据库概述(MySQL 模式) 和 连接数据库概述(Oracle 模式)。
查看租户仲裁服务的日志流降级控制时间。
系统租户查询指定租户
SHOW PARAMETERS LIKE 'arbitration_timeout' TENANT = 'mysql';用户租户查询本租户
SHOW PARAMETERS LIKE 'arbitration_timeout';
查询结果的示例如下:
+-------+----------+----------------+----------+---------------------+-----------+-------+---------------------------------------------------------------------------------------------+---------+--------+---------+-------------------+ | zone | svr_type | svr_ip | svr_port | name | data_type | value | info | section | scope | source | edit_level | +-------+----------+----------------+----------+---------------------+-----------+-------+---------------------------------------------------------------------------------------------+---------+--------+---------+-------------------+ | zone1 | observer | xx.xx.xx.197 | 2882 | arbitration_timeout | NULL | 5s | The timeout before automatically degrading when arbitration member exists. Range: [3s,+∞] | TRANS | TENANT | DEFAULT | DYNAMIC_EFFECTIVE | | zone2 | observer | xx.xx.xx.194 | 2882 | arbitration_timeout | NULL | 5s | The timeout before automatically degrading when arbitration member exists. Range: [3s,+∞] | TRANS | TENANT | DEFAULT | DYNAMIC_EFFECTIVE | +-------+----------+----------------+----------+---------------------+-----------+-------+---------------------------------------------------------------------------------------------+---------+--------+---------+-------------------+ 2 rows in set根据使用场景,选择合适的语句修改降级触发的控制时间。
租户级配置项
arbitration_timeout用于设置触发日志流自动降级的控制时间。其默认值为 5s,取值范围为 [3s, +∞)。如果不希望发生降级,可以设置一个足够大的值,例如 30d(30 天)。该配置项配置后实时生效,不需要重启 OBServer 节点。用户租户修改本租户的日志流降级控制时间
ALTER SYSTEM SET arbitration_timeout = '10s';sys租户修改指定租户的日志流降级控制时间ALTER SYSTEM SET arbitration_timeout = '10s' TENANT = 'tenant_name';sys租户修改所有租户的日志流降级控制时间ALTER SYSTEM SET arbitration_timeout = '10s' TENANT = all;
相关文档
更多仲裁服务相关的信息,请参见以下内容: