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. 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.