Are you looking to get going with Elasticsearch as quickly as possible without having to worry about installing Java or Elasticsearch itself? Are you looking for a repeatable and automated mechanism for bringing up Elasticsearch instances for developmental and or testing purposes? While there’s certainly a number of Elasticsearch-as-a-platform service providers out there, there’s one other option: use Elasticsearch-in-a-box.
Elasticsearch-in-a-box is a freely available Vagrant base box. What that means is that you can quickly fire up and tear down an Elasticsearch environment with simple commands like
vagrant up and
In order to use Elasticsearch-in-a-box, you first need to have Vagrant and VirtualBox installed. These two installations couldn’t be any easier. To install Vagrant, simply go to the downloads page and pick your target distribution. Vagrant provisions machines on top of virtual machine providers like VMWare, AWS, and VirtualBox. VirtualBox is free and easy to install – like Vagrant, simply go to the downloads section and pick your target platform.
Once you have both Vagrant and VirtualBox installed, you are two steps away from Elasticsearch-ing.
First, you need to add and initialize the Elasticsearch-in-a-box template. Go ahead and create a directory, like
/projects/esinabox, change directories into it and execute this command:
This command will create a Vagrant definition named esinabox from the downloaded template
vagrant box add esinabox https://s3.amazonaws.com/coffers/esinabox.box
This command will download the Elasticsearch-in-a-box template. Once that completes (it’ll take a few moments depending on your connection), execute this command:
Vagrant init will create a VagrantFile
vagrant init 'esinabox'
This command will create a
VagrantFile, which you can use to customize the Elasticsearch-in-a-box instance. By default, you shouldn’t need to do much, however, you can map network ports, install additional software via Bash, Chef, and Puppet at your discretion.
Next, fire up Elasticsearch-in-a-box like so:
Starting up Elasticsearch-in-a-box
Now that Elasticsearch-in-a-box is running locally on your machine, you can open up a new terminal and execute RESTful commands like normal because Elasticsearch is running on same ports: 9200 & 9300. So go ahead and execute some queries, like so:
Elasticsearch is up an running!
curl -XGET 'http://localhost:9200/_status?pretty=true'
And when you are done, go ahead and tear down the instance like so:
Destroying a VM instance
vagrant destroy -f
If you’re looking for a quick and easy way to automatically provision Elasticsearch, then look no further and give Elasticsearch-in-a-box a try!