1.Issue

新装的elasticsearch启动报以下错误

从错误信息看出应该是elasticsearch程序需要的最小max file descriptors值是65536,但是我的host只配置了4096(默认值)
那我先确认一下

ulimit -Hn: 是max number of open file descriptors的hard限制
ulimit -Sn: 是max number of open file descriptors的soft限制
那接下来要把这两个值改大。

2.Solution

在/etc/security/limits.conf中添加如下内容

[sandwich@centos-elk ~]$ sudo vi /etc/security/limits.conf
#添加以下内容 
sandwich hard nofile 65536
sandwich soft nofile 65536


sandwich表示运行elasticsearch的用户,hard与soft表示限制的类型,nofile表示max number of open file descriptors,65536表示设置的大小。
改完需要重新登录才能生效,或者切换用户

[sandwich@centos-elk ~]$ su root
Password: 
[root@centos-elk sandwich]# su sandwich
[sandwich@centos-elk ~]$ ulimit -Hn
65536
[sandwich@centos-elk ~]$ ulimit -Sn
65536

这个值最终影响的是ulimit的open files的最大值

重新启动elasticsearch,问题解决了。

更多推荐

max file descriptors [4096] for elasticsearch process is too low, increase to at