Understanding node.max_local_storage_nodes?

Hi, my setup is that I have multiple people running their own docker containers on different machines that have access to shared storage. I've put the elasticsearch- folder in that shared location (so the /data/index folder is there too), with the goal of allowing different users to work off of the same index. But, out of the box, if two users try to run elastic, we get the failed to obtain node locks error. We are not in a production environment and we will have a small number of users (maybe max 10) using any given index at the same time).

Can fix this error and allow multiple users to query the index by setting node.max_local_storage=N (where N > 1) in elasticsearch.yaml? If not, which setting am I looking for?

Am I understanding node.max_local_storage correctly? Are there any issues with setting node.max_local_storage > 1?

Welcome to our community! :smiley:

TDLR - this will not work in Elasticsearch 8.X because multiple nodes cannot write to the same directory in this way. See Node | Elasticsearch Guide [7.17] | Elastic (emphasis mine);

node.max_local_storage_nodes edit

The data path can be shared by multiple nodes, even by nodes from different clusters. It is recommended however to only run one node of Elasticsearch using the same data path. This setting is deprecated in 7.x and will be removed in version 8.0.

Can you not run a single persistent container that lets your users access the Elasticsearch APIs instead?

1 Like

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.