文件描述符
编辑文件描述符编辑
这仅与 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