启动集群报错open files must not be less than 20000

【产品名称】

【产品版本】

【问题描述】启动本地版集群时报错open files must not be less than 20000(Current value: 1024)

请根据warn信息调整目标机器的系统参数,可以使用以下命令

echo 'fs.aio-max-nr=1048576' | sudo tee /etc/sysctl.conf

sysctl -p

echo -e "root soft nofile 655350\nroot hard nofile 655350\n* soft nofile 655350\n* hard nofile 655350">> /etc/security/limits.conf

3 个赞

在目标机器中操作了,启动的时候还是一样的提示。

ulimit -a看看参数是否生效

没有生效,执行完后还是1024,有什么顺序操作么?

cat /etc/security/limits.conf 这个文件截图如下

看看这个教程吧,里边有写如何初始化服务器:
https://open.oceanbase.com/blog/8600144

这个章节前后看完

修改会话变量设置

您可以通过配置 limits.conf 限制修改会话限制。 OceanBase 数据库的进程涉及的限制包括线程最大栈空间大小(Stack)、最大文件句柄数(Open Files)和 core 文件大小 (Core File Size)。

您可以使用以下两种方法修改资源限制:

  • 通过启动时在会话级别修改。如:
  • ulimit -c unlimited
  • , 只影响当前会话。如果会话断开重连了,则又是默认配置。
  • 通过配置文件
  • /etc/security/limits.conf
  • 在全局级别修改。注意修改后,已经登录的会话需要退出重登录才生效。

更改配置文件说明。

将会话级别的最大栈空间大小设置为 unlimited,最大文件句柄数设置为 655350,Core 文件大小设置为 unlimited 。 修改 /etc/security/limits.conf 配置文件,如果已有设置值低于这个设置值

vi /etc/security/limits.conf * soft nofile 655360 * hard nofile 655360 * soft nproc 655360 * hard nproc 655360 * soft core unlimited * hard core unlimited * soft stack unlimited * hard stack unlimited

查看配置方法。退出当前会话,重新登录。执行以下命令,查看配置是否生效:

ulimit -a

完全按照https://open.oceanbase.com/blog/8600144 里面的全部一样,但是open files还没生效。求指点。

完全按照https://open.oceanbase.com/blog/8600144 里面的全部一样,但是open files还没生效。求指点。

包括临时性ulimit -n 102400 这样也是不行,还是一样的报错提示,请大佬指点一下。

修改后,退出当前shell会话,然后重新打开也不行吗?

我以前修改这样就生效了的。你要确认你的用户配置正确,并且有生效。

最终大法就是重启生效。但是不要轻易用

多次修改后生效了。ulimit是65000多;重新建了集群,但是还是提示报错日志少于60000。这种是怎么记录的(在测试服务器中三台obs和中控机也都重启过)? :joy:

生效了还报错,就贴完整日志,找OB的人看看吧