Setup elastic cluster search on ubuntu 18.04
192.168.115.131 (master)
192.168.115.132 (data)
192.168.115.133 (data)
Install jdk
sudo apt-get install openjdk-8-jdk
install elastic search on 3 vm
sudo wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.1-amd64.deb
sudo wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.1-amd64.deb.sha512
sudo shasum -a 512 -c elasticsearch-7.10.1-amd64.deb.sha512
sudo dpkg -i elasticsearch-7.10.1-amd64.deb
configure service on 3 vm
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service
sudo update-rc.d elasticsearch defaults 95 10
sudo service elasticsearch start
test
curl 192.168.115.131:9200/?pretty
configure hostname on each machine
sudo nano /etc/hostname
es-mater
sudo nano /etc/hostname
es-data1
sudo nano /etc/hostname
es-data2
set host on each machine
sudo nano /etc/hosts
192.168.115.131 es-mater
192.168.115.132 es-data1
192.168.115.133 es-data2
Configure yaml
sudo nano /etc/elasticsearch/elasticsearch.yml
cluster.name: my-es-cluster
#node name,change for each node
node.name: es-master (es-data1, es-data2)
node.master: true #( for 131)
node.data: true #( for 132, 133)
#enter the private IP and port of node (the same ip as each machine)
network.host: 192.168.115.131 #(132, 133)
#detail the private IPs of your nodes:
discovery.zen.ping.unicast.hosts:[“192.168.115.131”,”192.168.115.132",”192.168.115.133"]
#to avoid split brain
discovery.zen.minimum_master_nodes: 2
node.master: true for master node 192.168.115.131
node.data:true for data node . 192.168.115.132, 192.168.115.133
restart service on all 3
sudo service elasticsearch restart
Check
curl -XGET ‘http://192.168.115.131:9200/_cluster/state?pretty'