In addition to reading this guide, we recommend you run the Elasticsearch Health Check-Up. It will detect issues and improve your Elasticsearch performance by analyzing your shard sizes, threadpools, memory, snapshots, disk watermarks and more.The Elasticsearch Check-Up is free and requires no installation.
Before you begin reading this guide, we recommend you try running the OpenSearch Error Check-Up which analyzes 2 JSON files to detect many configuration errors.
To easily resolve issues in your deployment and locate their root cause, try AutoOps for OpenSearch. It diagnoses problems by analyzing hundreds of metrics collected by a lightweight agent and offers guidance for resolving them.
What it means
File descriptors are required so that the OpenSearch process can keep track of all the files it has open at any given time as well as all network connections to other nodes.
Running out of file descriptors would result in the OpenSearch process not being able to keep track of the files it has open or not being able to open new files or socket connections when it needs to, and will most probably lead to data loss.
The OpenSearch process should be permitted up to 65,536 or more.
How to resolve it
If you used systemd or yum to install OpenSearch, then the setting should be applied automatically. If you installed a tarball then you will need to do the following:
Edit /etc/security/limits.conf
Add the line:
opensearch - nofile 65535
MacOS users must also add the following line to the jvm.options file (not necessary for Linux):
-XX:-MaxFDLimit
Restart OpenSearch.
You can check the setting has taken effect:
GET _nodes/stats/process?filter_path=**.max_file_descriptors