首页编程PHPelasticsearch文章详细

elasticsearch 解决:max file descriptors [65535] for elasticsearch process is too low

原创 2022-09-12 14:04:50 362

方案一:

elasticsearch安装后启动时候,遇到此问题,问题翻译过来就是:elasticsearch用户拥有的可创建文件描述的权限太低,至少需要65536;

解决办法:

切换到root用户修改

vim /etc/security/limits.conf

在最后面追加下面内容

*** hard nofile 65536
 
*** soft nofile 65536
***  是启动ES的用户

方案二:

ulimit -n 65535

使用 ulimit -Hn 查看当前值,果然是65535,

ulimit -Hn

65535

也就是说每次更新环境变量的时候limits.conf的hard nofile 131072设置被覆盖掉了
这就好办了,vi /etc/profile 将 ulimit -n 65535 行注释掉,退出重新进入当前用户,再使用 ulimit -Hn 查看当前值,已经是131072了,设置成功!

执行

 ulimit -Hn 65536

验证

ulimit -Hn 

65536

再去启动elasticsearch,OK!

方案三:确保非root账号打开文件数量也增大

1.打开/etc/security/limits.conf,在里面添加如下内容

* soft nofile 65536
* hard nofile 65536

其中*表示所有用户  nofile表示最大文件句柄数,表示能够打开的最大文件数目

2.编辑/etc/pam.d/common-session,添加如下内容

vi /etc/pam.d/common-session
session required pam_limits.so 

3.编辑/etc/profile,添加如下内容

ulimit -SHn 65536

然后重新启动机器,再利用ulimit -n查看文件句柄数,发现文件句柄数变为65536

推荐