Elasticsearch: Support for storing indices on Lustre

Created on 30 Jan 2015  路  4Comments  路  Source: elastic/elasticsearch

In the spirit of #9072 , I'd like to discuss support for the Lustre file system. Currently, trying to create an instance using Lustre fails in NodeEnvironment, specifically in the call to NativeFSLockFactory::obtain because Lustre does not support file locking.

I've tested SimpleFSLockFactory (in isolation from everything else), and that does work. I'm going to test using SimpleFSLockFactory in NodeEnvironment and see if that will work. If it does, would there be any interest in having a node.simple_locking option in elasticsearch.yml to help support running on Lustre? What else am I missing?

>non-issue

Most helpful comment

Understanding that this q is 4 years old, but in case anyone else ends up back here...

Lustre does/has supported flock; it just requires a client mount option:

  • localflock, which only keeps locking on the local client node and is sufficient for applications that only run on a single node

    • flock, which adds locking between applications on different clients mounted with this option. This is if you have a distributed application that is running on multiple clients that controls its file access via flock (e.g. Producer/consumer).

All 4 comments

There was some discussion about file locking in this thread. Would it make sense to have the index.store.fs.lock setting apply to NodeEnvironment as well as FSDirectoryService?

I've tested SimpleFSLockFactory (in isolation from everything else), and that does work. I'm going to test using SimpleFSLockFactory in NodeEnvironment and see if that will work. If it does, would there be any interest in having a node.simple_locking option in elasticsearch.yml to help support running on Lustre? What else am I missing?

this lock is different to the lock on the index. Elasticsearch requires this lock to be a NativeFSLock. This als means the FS your Elasticsearch Node is running must support this if the node is supposed to hold data. The good news is that you can place the actual index data directory on a different filesystem once #9033 is released. I think we can just close this and treat is as fixed.

Thanks. I think #9033 will help a lot.

Understanding that this q is 4 years old, but in case anyone else ends up back here...

Lustre does/has supported flock; it just requires a client mount option:

  • localflock, which only keeps locking on the local client node and is sufficient for applications that only run on a single node

    • flock, which adds locking between applications on different clients mounted with this option. This is if you have a distributed application that is running on multiple clients that controls its file access via flock (e.g. Producer/consumer).

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jpountz picture jpountz  路  3Comments

abrahamduran picture abrahamduran  路  3Comments

malpani picture malpani  路  3Comments

clintongormley picture clintongormley  路  3Comments

rjernst picture rjernst  路  3Comments