As an Elasticsearch consultant, I often work with different versions of Elasticsearch. To make my developer life easier, I created evm. It allows me to install, remove, test multiple versions easily.
Installation
Just download the evm
script and make it executable.
sudo curl -o /usr/local/bin/evm https://raw.githubusercontent.com/duydo/evm/master/evm
sudo chmod +x /usr/local/bin/evm
Usage
evm -h Print help information
evm -V Print version information
evm list List all installed ES versions
evm version Print the current activated ES version
evm install <version> Install a specific ES version
evm use <version> Use a specific ES version
evm remove <version> Remove a specific ES version if available
evm which [<version>] Print path to installed ES version
evm plugin list List all installed ES plugins
evm plugin <install|remove> <plugin> Install or remove an ES plugin
evm start [-c </path/to/config/dir>] Start ES in the background with a specific config directory (optional)
evm stop Stop ES if it is running
evm status Check if ES is running
Example
evm install 5.3.1 Install ES 5.3.1
evm use 5.3.1 Use ES 5.3.1
evm start Start ES node with the default config directory
evm start -c /etc/elasticsearch Start ES node with /etc/elasticsearch config directory
evm status Print ES running status
evm stop Stop ES if it is running
evm plugin install x-pack Install the x-pack plugin
evm plugin remove x-pack Remove the x-pack plugin