I'm currently running a single node 6.0.0 sandbox server and planning to upgrade to 6.1.1 but wanted to try and setup my ES environment in a more modular and easy-to-upgrade way. I'm working on re-configuring the layout based on the rolling upgrades page but I'm having a problem - specifically the Tip in section 4:
When you extract the zip or tarball packages, the elasticsearch-n.n.n directory contains the Elasticsearh config, data, logs and plugins directories.
We recommend moving these directories out of the Elasticsearch directory so that there is no chance of deleting them when you upgrade Elasticsearch. To specify the new locations, use the ES_PATH_CONF environment variable and the path.data and path.logs settings. For more information, see Important Elasticsearch configuration.
My problem is around moving the plugins directory specifically. It appears that as of 5.0, the option to set path.plugins is no longer valid and I'm not sure if the documentation has a typo or if there's some other hidden setting in the elasticsearch.yml. The errors I've been getting were that ES only seems to be looking for plugins in $ES_HOME/plugins which aligns with all the other documentation I'm seeing. To resolve this I've had to do two things:
- create a soft link of $ES_HOME/plugins pointing to my new plugins folder location
- copy the actual content of my plugins folder to the ES_PATH_CONF folder which holds my elasticsearch.yml, jvm.options and log4j2.properties
Here is my ES_PATH_CONF folder contents:
It looks ugly but it works.
This is my desired layout (from archive, not RPM)
ES_HOME = /app/elasticsearch-6.0.0/
But I don't think I'm going to get the last one.
Will I need to manually save off and then move the plugins directory to each new elasticsearch installation version I want to upgrade to? Or is there a better way?