Configuring Elastic search Nodes to talk to each other in digital ocean droplets

I'm a student researching on elastic search and i am trying to configure my elastic nodes to work with each other which are hosted in digital ocean droplets. Can anyone help me? thanks in advance.

What have you tried?

I actually could not find any resource regarding my problem. i Could only find resources on configuring ES on aws. im very much new to ES and I tried it in my local network but in digital ocean there are public IPs. and sorry if the question feels dumb. :smiley: thank you very much Mark for the quick reply

Basically it's this.

Your cluster.name needs to be the same on each node, you need to set discovery.zen.ping.unicast.hosts and discovery.zen.minimum_master_nodes as well. Have a read of https://www.elastic.co/guide/en/elasticsearch/guide/current/_important_configuration_changes.html

Thanks for the information. i went through the documentation and changed the config files of the 2 nodes.

the settings are
both have the same cluster name and diffarant node names

both have network.host and transport.host set to 0.0.0.0

both have minimum_master_nodes set to 1 and multicast disabled

unicast host are set to each other eg node 1 unicast.hosts [node 2 ip]

but when i check for the cluster health it only shows that there is only one node.

You make several mistakes.

  • in order to make ES failsafe in a distributed manner, you need at least 3 nodes, and an odd number of master nodes. 2 master nodes are prone to a split brain situation.

  • therefore minimum_master_nodes must be set to greater as 1

  • the setting 0.0.0.0 is mostly not working in cloud environments. You have to enable a private sub net and use the IP you get assigned from your cloud provider.

Thnank you very much for the help jPrante. I thought of carrying out my research in my local network so i could avoid the complications. Thank you again for the help. :smiley: