由于通过 OCP 修改错了集群 system_memory 的值 ,没有带单位入 G,M。现在集群启动失败了。

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】3.2.4 企业版
【问题描述】因为通过 ocp 平台修改了集群的 system_memory 的值,由于修改的时候没有带单位G,M,且保存成功了,导致集群出现不可用,重启集群的时候报错,通过讲 observer.config.bin.history 的文件恢复成 observer.config.bin 文件后,启动成功,但是其他节点出现错误后,又重启 了一次,又因为这个节点在启动的时候被当作了主节点,导致原来的 history 文件被覆盖,现在启动集群这个节点初始化不成功:报错信息如下:[2023-10-30 09:23:39.949979] ERROR issue_dba_error (ob_log.cpp:2322) [115395][0][Y0-0000000000000000-0-0] [lt=2] [dc=0][errcode=-4388] Unexpected internal error happen, please checkout the internal errcode(errcode=-4013, file=“main.cpp”, line_no=540, info=“observer init fail”)
【复现路径】问题出现前后相关操作
【问题现象及影响】集群无法启动

【附件】

命令行手动启动observer进程,带上system_memory 的正确参数

手动启动不行的,一定要通过 ocp 启动的,手动启动会说读不到配置文件

到各个节点上手动启动 OB 进程,启动目录位置要对。

su - admin
cd /home/admin/oceanbase && bin/observer -o "system_memory=30G"

我试一下

多谢大佬,我通过 3 台 zone 都执行了这个启动命令,然后通过 ocp 重试启动集群的任务,就好了。

Mark