ElasticSearch Cluster: Data Node
For setting up an Elastic-only Node (Data Node) to your EnterMedia cluster download our EnterMedia Docker Elastic script at:
$ cd && curl -Lo entermedia-docker-elastic.sh docker-elastic.entermediadb.org
The Elastic-only node requires access to the repos path in the data shared volume of the cluster. You can NFS mount the same data volume and setup a link to the repos path. Repo shared resource needs to be linked to /media/cluster/cluster-name/XX/repos. Now that you have the shared repos path in place, run the script as root user with the following parameters to create the Elastic-only node:
entermedia-docker-elastic.sh NODE_ID NODE_NAME CLUSTER_NAME ELASTIC_MASTER PUBLISH_HOST
$ sudo ./entermedia-docker-elastic.sh 45 un2-cluster 192.168.100.100 192.168.100.200
- NODE_ID - Elastic-only node id.
- NODE_NAME - Elastic-only node name.
- CLUSTER_NAME - Cluster id we are connecting to.
- ELASTIC_MASTER - Cluster master node host.
- PUBLISH_HOST - Elastic-only node publishing host.
Once the docker instance is built, you can verify the startup sequence with the logs command (/media/cluster/cluster-name/XX/logs.sh) and verify cluster stats with the health script (/media/cluster/cluster-name/XX/health.sh).
$ /media/cluster/cluster-name/30/health.sh { "cluster_name" : "unique-cluster", "status" : "green", "timed_out" : false, "number_of_nodes" : 3, "number_of_data_nodes" : 3, "active_primary_shards" : 50, "active_shards" : 100, "relocating_shards" : 0, "initializing_shards" : 0, "unassigned_shards" : 0, "delayed_unassigned_shards" : 0, "number_of_pending_tasks" : 0, "number_of_in_flight_fetch" : 0, "task_max_waiting_in_queue_millis" : 0, "active_shards_percent_as_number" : 100.0 }
Alternatively you can mount the repos path with SSHFS in the Elastic-only node with the help of a Docker plugin.