elasticsearch cluster #17

2 machines, 2 units

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.

Bundle configuration