文件描述符编辑

这仅与 Linux 和 macOS 相关,如果在 Windows 上运行 Elasticsearch,可以安全地忽略。在 Windows 上,JVM 使用一个 API,它仅受可用资源的限制。

Elasticsearch 使用大量文件描述符或文件句柄。文件描述符不足会导致灾难性的后果,很可能导致数据丢失。确保为运行 Elasticsearch 的用户将打开文件描述符数量的限制增加到 65,535 或更高。

对于 .zip.tar.gz 包,在启动 Elasticsearch 之前以 root 身份设置 ulimit -n 65535,或在 /etc/security/limits.conf 中将 nofile 设置为 65535

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

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

您可以使用 节点统计信息 API 检查为每个节点配置的 max_file_descriptors,方法是:

resp = client.nodes.stats(
    metric="process",
    filter_path="**.max_file_descriptors",
)
print(resp)
response = client.nodes.stats(
  metric: 'process',
  filter_path: '**.max_file_descriptors'
)
puts response
GET _nodes/stats/process?filter_path=**.max_file_descriptors