Error Log: This is a high-level error in your opensearch.log that stops your node from starting. It’s a “wrapper” error—the real reasons are listed just above it.
None
[2025-11-03T20:30:00,000][ERROR][o.o.b.Bootstrap] [your-node-name]
node-name: OpenSearch bootstrap checks failed
[2025-11-03T20:30:00,000][ERROR][o.o.b.Bootstrap] [your-node-name]
1: memory locking requested for OpenSearch process but memory is not locked
[2025-11-03T20:30:00,000][ERROR][o.o.b.Bootstrap] [your-node-name]
2: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
Why… is this happening? This is a critical safety feature. When OpenSearch detects it’s not running on a development machine (e.g., it’s bound to a non-localhost IP), it runs a series of “bootstrap checks” to ensure your server is configured for production.
If any of these checks fail, OpenSearch intentionally refuses to start. This prevents you from running a production cluster with settings that will lead to poor performance, instability, or data loss.
The error message itself (OpenSearch bootstrap checks failed) just tells you to look at the lines directly above or below it. Common failures include:
memory locking requested...: (See our previous blog post!)max virtual memory areas vm.max_map_count [...] is too low: The OS limit for memory maps is too low.max file descriptors [65535] for opensearch process is too low: The OS limit for open files is too low.heap size not set: You haven’t configured the JVM heap (-Xms and -Xmx) in config/jvm.options.
Best Practice: Do not bypass these checks! Fix them one by one.
1. For vm.max_map_count:
- Permanent Fix: Edit
/etc/sysctl.confand add this line:vm.max_map_count=262144 - Apply it:
sudo sysctl -p
2. For max file descriptors:
- systemd (RPM/Deb):
sudo systemctl edit opensearchand add: Ini, TOML
None
[Service]
LimitNOFILE=65536
- tarball: Edit
/etc/security/limits.confand add:opensearch - nofile 65536
3. For heap size:
- Edit
config/jvm.options. - Set
-Xmsand-Xmxto the same value (e.g.,-Xms4g -Xmx4g). This should be ~50% of your server’s RAM, but not more than ~30-32GB.
What else can I do? Running into a bootstrap check that isn’t on this list? The OpenSearch documentation has a complete list. You can also ask the community or contact us for help configuring your production environment in The OpenSearch Slack Channel in #General.