18 June 2014 Engineering

Elasticsearch Puppet module 0.4.0 released

By Richard Pijnenburg

We’re very happy to announce our latest release of our Elasticsearch Puppet module, version 0.4.0. With this release, we’ve implemented one of the most widely requested features: supporting multiple instances of Elasticsearch running on a single machine. This new functionality required a substantial rewrite of our Elasticsearch Puppet module, so this release breaks backwards compatibility with our previous releases. You can get full details in the README file.

Now, when creating a single instance of Elasticsearch, you would simply:

# Setup main class
class { 'elasticsearch': }

# Setup instance 1
elasticsearch
::instance { 'es-01': }

This sets up a single instance called ‘es-01′. The data directory is automatically set to “/usr/share/elasticsearch/data/es-01″. Since no node name is given in the configuration, we automatically set that to “$hostname-es-01″

When you want to have 2 instances, you just need to add another instance call:

# Setup main class
class { 'elasticsearch': }

# Setup instance 1
elasticsearch
::instance { 'es-01': }

# Setup instance 2
elasticsearch
::instance { 'es-02': }

Along with this new functionality, we have also added support for another Linux distro, Ubuntu 14.04. Lastly, we’ve spiffed up our documentation to make it easier for you to get started.

For more detailed information about configuring instances, set up and usage, see the README. We’ll keep adding new functionality to our Puppet modules, so make sure to check them out and give us your feedback.

Happy Puppetizing!