Standalone ElasticSearch Cluster

This is a standalone ElasticSearch cluster

Deployment

juju quickstart bundle:elasticsearch/cluster

Components

  • 1 Node for ElasticSearch (with at least 4 cores and 16GB of RAM)
  • 1 Node for Kibana (Web UI)

ElasticSearch is clever in that is designed to be horizontally scalable. You
can juju add-unit elasticsearch to scale out and it will handle the rest,
there is no need to manually administer it.

To horizontally scale just add unit:

juju add-unit elasticsearch # Add one more unit
juju add-unit -n5 elasticsearch  # Add 5 more units

And so on.

Seeding ElasticSearch

The included demo.sh file can be run on your machine. This demo.sh file does a few things:

  • Seeds ElasticSearch with the works of William Shakespeare
  • Installs the bigdesk and paramedic GUI admin panels for ElasticSearch
  • Copy a preconfigured Kibana dashboard over the default one.

Ensuring it's working

Ensure the cluster is healthy:

juju run --unit elasticsearch/0 "curl http://localhost:9200/_cat/health?v"

Expose and get the public address of any one of the ES nodes and kibana:

juju expose elasticsearch
juju status elasticsearch
juju expose kibana
juju status kibana

Then check the following URLs, substituting the proper IP address:

The Kibana web UI allows you to run arbritrary SQL commands to the data in
ElasticSearch, so feel free to search for anything Shakespeare related to see
the cluster working.