启动ELASTICSEARCH时,elasticsearch过程的最大文件描述符[4096]太低

时间:2018-08-05 13:11:01

标签: elasticsearch

当我开始Elasticseach时,我会收到以下警告:

[2018-08-05T15:04:27,370][WARN ][o.e.b.BootstrapChecks    ] [bDyfvVI] max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

在本教程docs中,我已将所需的值设置为65536。我还尝试了以下步骤:

Check ulimit -n, it would be 4096.

Edit /etc/security/limits.conf and add following lines:

*    soft nofile 65536

*    hard nofile 65536

root soft nofile 65536

root hard nofile 65536
Edit /etc/pam.d/common-session and add this line session required pam_limits.so
Edit /etc/pam.d/common-session-noninteractive and add this line session required pam_limits.so
Reload session and check for ulimit -n, it would be 65536.

很遗憾,我仍然收到此警告。有人可以帮我吗?

1 个答案:

答案 0 :(得分:-1)

我们通过更改以下内容中的值将MAX_OPEN_FILES设置为1024000   / etc / default / elasticsearch

更多信息在这里: https://www.elastic.co/guide/en/elasticsearch/reference/current/file-descriptors.html

Elasticsearch使用许多文件描述符或文件句柄。文件描述符用尽可能是灾难性的,很可能导致数据丢失。确保将运行Elasticsearch的用户的打开文件描述符的数量限制增加到65,536或更高。

对于.zip和.tar.gz软件包,在启动Elasticsearch之前将ulimit -n 65535设置为root,或者在/etc/security/limits.conf中将nofile设置为65535。

在macOS上,您还必须将JVM选项 -XX:-MaxFDLimit 传递给Elasticsearch,以使其使用更高的文件描述符限制。

RPM和Debian软件包已经默认将文件描述符的最大数量设置为65535,并且不需要进一步配置。

您可以使用Nodes Stats API通过以下方式检查为每个节点配置的max_file_descriptors:

获取_nodes / stats / process?filter_path = **。max_file_descriptors