# Elastic 2.3.4 Client nodes do not see each other

**URL:** <https://discuss.elastic.co/t/elastic-2-3-4-client-nodes-do-not-see-each-other/61283>\
**Category:** Elasticsearch\
**Created:** [September 22, 2016, 3:54pm UTC](https://discuss.elastic.co/t/elastic-2-3-4-client-nodes-do-not-see-each-other/61283 "2016-09-22T15:54:03Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Moshe\_Sucaz](https://avatars.discourse-cdn.com/v4/letter/m/0ea827/32.png) [@Moshe\_Sucaz](https://discuss.elastic.co/u/Moshe_Sucaz)\
**Post date:** [September 22, 2016, 3:54pm UTC](https://discuss.elastic.co/t/elastic-2-3-4-client-nodes-do-not-see-each-other/61283/1 "2016-09-22T15:54:03Z")

</div>

I am having a problem with Elastic 2.3.4 where nodes do not see each other.  
When I try to boot them, both nodes are "started", but when checking cluster health I get master\_not\_discovered\_exception (503)

my configurations are:

> cluster.name:my\_cluster  
> node.name: node\_${HOSTNAME}  
> transport.tcp.port: 9300  
> http.port: 9200  
> discovery.zen.minimum\_master\_nodes:2  
> discovery.zen.ping.unicast.hosts: ["host1", "host2"]  
> gateway.recover\_after\_nodes: 1  
> gateway.expected\_nodes: 2

When I change discovery.zen.minimum\_master\_nodes to 1 (just for the test), each node work as master (status=green), but they do not see the other:

> delaying initial state recovery for [5m]. expecting [2] nodes, but only have [1]

How can I fix it, please?

---

<div class="post-metadata">

**Author:** ![danielmitterdorfer](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/danielmitterdorfer/32/110510_2.png) [@danielmitterdorfer](https://discuss.elastic.co/u/danielmitterdorfer)\
**Post date:** [September 23, 2016, 11:00am UTC](https://discuss.elastic.co/t/elastic-2-3-4-client-nodes-do-not-see-each-other/61283/2 "2016-09-23T11:00:40Z")

</div>

Hi @Moshe_Sucaz,

I don't see `network.host` (see [reference docs](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/modules-network.html#common-network-settings)) and by default each instance binds only to loopback. Are both instances on different machines?

I assume this is just your test setup but please be aware that 2 nodes is not ideal because with `discovery.zen.minimum_master_nodes` = 1 you risk split brain and with `discovery.zen.minimum_master_nodes`= 2 you reduce availability (as both master nodes need to be up all the time).

Daniel

---

<div class="post-metadata">

**Author:** ![Moshe\_Sucaz](https://avatars.discourse-cdn.com/v4/letter/m/0ea827/32.png) [@Moshe\_Sucaz](https://discuss.elastic.co/u/Moshe_Sucaz)\
**Post date:** [September 24, 2016, 10:15am UTC](https://discuss.elastic.co/t/elastic-2-3-4-client-nodes-do-not-see-each-other/61283/3 "2016-09-24T10:15:46Z")

</div>

Thanks Daniel,  
In our 1.5.2 production cluster we have more then 30 nodes, each on different machine. Now I am upgrading to 2.3.4, so I just wanted to test the new setup. Also in the test env, both instances on different machines.  
in 1.5.2 our setting are:

> cluster.name:my\_cluster  
> node.name: node\_${HOSTNAME}  
> node.tag: gen1  
> transport.tcp.port: 9300  
> http.port: 9200  
> http.cors.allow-origin:  
> gateway.recover\_after\_nodes: 11  
> gateway.expected\_nodes: 25  
> discovery.zen.minimum\_master\_nodes: 11

Please note that network.host is not defined in 1.5.2 and its working fine. So, which setup do you suggest me to set in 2.3.4, and keep same configuration file for all, as in 1.5.2? (I understand that if I set network.host to a fixed IP address, I can't use same configuration file).  
Also, I can run my test on 8 new machines that I have, if needed...  
Thanks!

---

<div class="post-metadata">

**Author:** ![Moshe\_Sucaz](https://avatars.discourse-cdn.com/v4/letter/m/0ea827/32.png) [@Moshe\_Sucaz](https://discuss.elastic.co/u/Moshe_Sucaz)\
**Post date:** [September 25, 2016, 7:20am UTC](https://discuss.elastic.co/t/elastic-2-3-4-client-nodes-do-not-see-each-other/61283/4 "2016-09-25T07:20:53Z")

</div>

It worked after setting network.host to ${HOSTNAME}.  
(and discovery.zen.minimum\_master\_nodes= 2)  
In that way I could still use the same configuration file to all.  
Is it OK?

---

<div class="post-metadata">

**Author:** ![danielmitterdorfer](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/danielmitterdorfer/32/110510_2.png) [@danielmitterdorfer](https://discuss.elastic.co/u/danielmitterdorfer)\
**Post date:** [September 26, 2016, 6:17am UTC](https://discuss.elastic.co/t/elastic-2-3-4-client-nodes-do-not-see-each-other/61283/5 "2016-09-26T06:17:35Z")

</div>

Hi @Moshe_Sucaz,

seems fine, just keep our recommendation re. `discovery.zen.minimum_master_nodes` in mind:

> Prevent the "split brain" by configuring the majority of nodes (total number of nodes / 2 + 1)

Daniel

---

<div class="post-metadata">

**Author:** ![Moshe\_Sucaz](https://avatars.discourse-cdn.com/v4/letter/m/0ea827/32.png) [@Moshe\_Sucaz](https://discuss.elastic.co/u/Moshe_Sucaz)\
**Post date:** [September 26, 2016, 7:09am UTC](https://discuss.elastic.co/t/elastic-2-3-4-client-nodes-do-not-see-each-other/61283/6 "2016-09-26T07:09:26Z")

</div>

Thanks!

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 5, 2017, 10:17pm UTC](https://discuss.elastic.co/t/elastic-2-3-4-client-nodes-do-not-see-each-other/61283/7 "2017-07-05T22:17:22Z")

</div>


