Debian 12 bookworm
Sponsored Link

Elastic Stack 8 : Elasticsearch Cluster2023/08/04

 

Configure Elasticsearch Cluster.

This example shows to configure Elasticsearch Cluster with 3 Nodes and configure each Node is Master Eligible Node and Data Node (default).

Each node serves one or more purpose, refer to details below.
⇒ https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html

[1]
Install and Run Elasticsearch on all Nodes.
(installation only, do not start Elasticsearch service)
[2] On the 1st node, start Elasticsearch and generate an enrollment token for other nodes.
root@node01:~#
vi /etc/elasticsearch/elasticsearch.yml
# line 17 : uncomment and change (any name you like)

cluster.name:
elastic-cluster
# line 56 : uncomment and change (listen all)

network.host:
0.0.0.0
root@node01:~#
systemctl enable --now elasticsearch

root@node01:~#
/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node

eyJ2ZXIiOiI4LjkuMCIsImFkciI6WyIxMC4wLjAuNTE6OTIwMCJdLCJmZ3IiOiJiMTU5YTk3M2VhMTJiODUyYjdlOWQxYzEyNDQyMzg5OTJlOTYwZDcxNWVjNzEyNDY3ZmY2YmU2ZjJiMmQxMWMyIiwia2V5IjoiZVdQanZZa0J4dEFqdUxVT090d0Y6WlJER2JaSjNSOHlvbTdiSjZCNE5HUSJ9
[3] On other nodes, join in cluster with an enrollment token generated on the 1st node above.
root@node02:~# /usr/share/elasticsearch/bin/elasticsearch-reconfigure-node --enrollment-token \
eyJ2ZXIiOiI4LjkuMCIsImFkciI6WyIxMC4wLjAuNTE6OTIwMCJdLCJmZ3IiOiJiMTU5YTk3M2VhMTJiODUyYjdlOWQxYzEyNDQyMzg5OTJlOTYwZDcxNWVjNzEyNDY3ZmY2YmU2ZjJiMmQxMWMyIiwia2V5IjoiZVdQanZZa0J4dEFqdUxVT090d0Y6WlJER2JaSjNSOHlvbTdiSjZCNE5HUSJ9 
This node will be reconfigured to join an existing cluster, using the enrollment token that you provided.
This operation will overwrite the existing configuration. Specifically:
  - Security auto configuration will be removed from elasticsearch.yml
  - The [certs] config directory will be removed
  - Security auto configuration related secure settings will be removed from the elasticsearch.keystore
Do you want to continue with the reconfiguration process [y/N]y

root@node02:~#
vi /etc/elasticsearch/elasticsearch.yml
# line 17 : uncomment and specify the same name with 1st node

cluster.name:
elastic-cluster
# line 56 : uncomment and change (listen all)

network.host:
0.0.0.0
root@node02:~#
systemctl enable --now elasticsearch
[4] Verify Cluster status. If the status is green, That's OK.
root@node01:~#
curl -u elastic --cacert /etc/elasticsearch/certs/http_ca.crt https://node01.srv.world:9200/_cat/nodes?v

Enter host password for user 'elastic':
ip        heap.percent ram.percent cpu load_1m load_5m load_15m node.role   master name
10.0.0.53           14          98  12    0.29    0.13     0.04 cdfhilmrstw -      node03.srv.world
10.0.0.51            6          95   3    0.08    0.05     0.01 cdfhilmrstw *      node01.srv.world
10.0.0.52           17          97   4    0.07    0.08     0.02 cdfhilmrstw -      node02.srv.world

root@node01:~#
curl -u elastic --cacert /etc/elasticsearch/certs/http_ca.crt https://node01.srv.world:9200/_cluster/health?pretty

Enter host password for user 'elastic':
{
  "cluster_name" : "elastic-cluster",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 3,
  "number_of_data_nodes" : 3,
  "active_primary_shards" : 1,
  "active_shards" : 2,
  "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
}
Matched Content