[ERROR] OBD-2009: (server3(192.168.175.203)): when production_mode is True, memory_limit can not be less then 16384M, Please set production_mode to false

【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】obd命令行部署集群,启动时报错如标题,
【复现路径】
【附件及日志】通过obd cluster config clustername 内容如下图所示,不知道在哪更改这个参数。。

2 个赞


2 个赞

您好 你可以在配置文件里加一下试试呢?

参考资料如下

OBD-1017:(xx.xx.xx.xx) The value of the “xxx” must be xxx

错误原因:操作系统的内核参数不在推荐的范围之内。

为确保 OceanBase 数据库在生产环境中的稳定性,obd 在启动 OceanBase 数据库前将对系统环境及内核参数做一次检查,此项检查旨在确保系统配置符合 OceanBase 推荐的参数设定。在配置项未满足推荐标准的情况下,若 production_mode 配置为 true 或者执行命令时开启了 --strict-check 选项,实例将被识别为生产环境,此时会触发错误报告并终止启动,反之则仅会发出告警而不会终止启动流程。

解决方法:根据使用的环境不同有如下两种解决方法。

  • 若您所用环境为生产环境,可通过 sysctl -w {内核参数名}="建议值" 命令或 echo "内核参数名=建议值" >> /etc/sysctl.conf; sysctl -p 命令修改参数配置,使其满足条件。
  • 若您所用环境为测试环境,且没有权限修改内核参数,可通过 obd cluster edit-config {deployname} 命令修改配置文件,将配置项 production_mode 配置为 false 来跳过系统参数阻塞检查
2 个赞

通过 obd cluster edit-config {deployname} 命令修改配置文件,将配置项 production_mode 配置为 false

我是不知道这个参数应该写在哪个位置,server1,2,3下?不是写到global下?

2 个赞

您好 global下面

1 个赞

请问是Oceanbase-ce下面的global吧,通过 obd cluster edit-config obcc,配置后obd cluster reload obcc,再次start还是一样的错误 ,没生效

2 个赞

麻烦发下obd.log和obd的yaml文件

1 个赞

tmp.zip (53.2 KB)

2 个赞

麻烦给看一下

1 个赞

yaml文件里没配置 production_mode: false

production_mode 你参考这个配置

5 个赞

需要destroy掉cluster,重新建 吗?在obd cluster edit-config obcc中,添加了production_mode:false 后,reload时还是报这个ERROR

1 个赞

obd修改某些yaml参数是会需要重建集群的,目前该参数还在查看是否需要重建请稍等

1 个赞
  1. 如果edit-config 调整的参数不确定是重装生效、重启生效、还是重载生效,可以参看find ~/.obd/plugins/${component} “parameter.yaml” 文件,其中need_redeploy 对应重装生效(高危,会卸载服务,清理数据),need_restart 对应重启生效(注意,会重启部署服务,生产环境需要注意业务中断影响),此外参数基本为 reload 生效。具体生效的方式可以查看修改配置文件后黑屏打印的执行生效提示。
    (need_redeploy在production_mode为True的时候,会被封禁obd3.0 or 2.10以上)
    –解释 ${component} 中component代表的是组件
4 个赞

1 个赞

直接redeploy一下吧,目前集群也未创建成功

1 个赞

重新部署了,在中控机上,连接库,Obclient的环境变量怎么配置,我怎么没找到这个命令。
我按图里的方式安装的OBD

使用obd install命令安装个obclient即可

1 个赞

可以了,非常感谢!

学习了一下