部署报错get_system_memory() missing 1 required positional argument: 'min_pool_memory'

【 使用环境 】生产环境
【 使用版本 】oceanbase-all-in-one-4.3.5_20250106.el7.x86_64.tar.gz
【问题描述】OBD 部署报错

日志_配置等相关文件.zip (218.8 KB)

1 个赞

你好,
1、根据warn信息,clog and data disk (/mnt/ob) use the same
表示 clog(事务日志)和 data(数据)磁盘使用了相同的路径 /mnt/ob
如果是生产环境,clog和 data磁盘应该分开使用不同的物理磁盘,以避免 I/O 竞争和性能瓶颈
2、 get_system_memory() missing 1 required positional argument: min_pool_memory
get_system_memory()函数需要一个名为 system_memory的参数,但在调用时未传递该参数。
解决方法:需要在配置里添加这个参数

image
需要设置system_memory

不能不设置这个么?4.2 的版本中都没有设置这个。

1 的警告我知道,故意一个盘的,设置独立的挂载点,官方脚本前期检查脚本过不去,rm -rf 报错;
2 .我知道缺少参数,报错的是 ob 的脚本,尝试手动修改过脚本,但是不知道逻辑,放弃了 :joy:

其实,我强行改动脚本,在 74 行那里,我手动传进去两个参数,后续也会给我报内存不够的情况,就给人一种感觉,那个 memory_limit_percentage 参数貌似无效,并且好像也读取不到我现在服务器的内存大小,导致整个计算都有问题;OCP 方式部署都没有这个问题,OCP 部署的集群使用 memory_limit_percentage 这个参数都很正常,很奇怪,我这几台服务器前两天部署的是 4.2.5 ,因为无法直接升级到 435,所以,全部拆了重新安装的。 :joy:

memory_limit_percentage是自适应的。该参数是ob内存的大小。
system_memory是500租户内存设置,你使用ocp安装,这个内存是默认30G的所以你并没有感知到。

就是为啥 4.2.5 版本中就也是这个 yaml 的启动配置,就可以启动,但是换到 4.3.5 上面,还是一样的配置,但就是无法启动,报了这个错误了

我参考你yaml集群部署试试

我在想是不是因为我 python 版本的问题,系统也是新装的系统,装完系统后,别的准备条件倒是设置了,唯独python版本就没管

你好这边不带system_memory是正常的可以部署的。435

1、根据warn信息,clog and data disk (/mnt/ob) use the same
表示 clog(事务日志)和 data(数据)磁盘使用了相同的路径 /mnt/ob
如果是生产环境,clog和 data磁盘应该分开使用不同的物理磁盘,以避免 I/O 竞争和性能瓶颈
2、 get_system_memory() missing 1 required positional argument: min_pool_memory
get_system_memory()函数需要一个名为 system_memory的参数,但在调用时未传递该参数。
解决方法:需要在配置里添加这个参数