# Help with a larger cluster in EC2 and Node clients failing to join

**URL:** <https://discuss.elastic.co/t/help-with-a-larger-cluster-in-ec2-and-node-clients-failing-to-join/20509>\
**Category:** Elasticsearch\
**Created:** [October 30, 2014, 11:33pm UTC](https://discuss.elastic.co/t/help-with-a-larger-cluster-in-ec2-and-node-clients-failing-to-join/20509 "2014-10-30T23:33:25Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Todd\_Nine](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/todd_nine/32/778_2.png) [@Todd\_Nine](https://discuss.elastic.co/u/Todd_Nine)\
**Post date:** [October 30, 2014, 11:33pm UTC](https://discuss.elastic.co/t/help-with-a-larger-cluster-in-ec2-and-node-clients-failing-to-join/20509/1 "2014-10-30T23:33:25Z")

</div>

Hey guys,  
We're running some load tests, and we're finding some of our clients are  
having issues joining the cluster. We have the following setup running in  
EC2.

24 c3.4xlarge ES instances. These instances are our data storage and  
search instances.  
40 c3.xlarge Tomcat instances. These are our ephemeral webapp instances.

In our tomcat instance, we're using the Node java client. What I'm finding  
is that as the cluster comes up, only about 36~38 of the tomcat nodes ever  
discover the 24 nodes that are actually storing data. We're using tcp  
discovery, and have the following code in our client.

Settings settings = ImmutableSettings.settingsBuilder()

```
            .put( "cluster.name", fig.getClusterName() )

                    // this assumes that we're using zen for host 

```

discovery. Putting an  
// explicit set of bootstrap hosts ensures we  
connect to a valid cluster.  
.put( "discovery.zen.ping.unicast.hosts", allHosts )  
.put( "discovery.zen.ping.multicast.enabled", "false"  
).put( "http.enabled", false )

```
            .put( "client.transport.ping_timeout", 2000 ) // 

```

milliseconds  
.put( "client.transport.nodes\_sampler\_interval", 100 )  
.put( "network.tcp.blocking", true )  
.put( "node.client", true )  
.put( "node.name", nodeName )

```
            .build();

    log.debug( "Creating ElasticSearch client with settings: " + 

```

settings.getAsMap() );

where allHosts = "ip1:port, ip2:port" etc etc.

Not sure what we're doing wrong. We have retry code so that if a client  
fails 20 consecutive times with a TransportException, the node instance is  
stopped, and a new instance is created. This has worked in dealing with  
network hiccups in the past, however we can just never seem to get past the  
38 client mark. Any ideas what we may be doing wrong?

Thanks,  
Todd

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/55924250-3013-4f70-b3d2-b5381f8af993%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/55924250-3013-4f70-b3d2-b5381f8af993%40googlegroups.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<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 6, 2017, 12:52am UTC](https://discuss.elastic.co/t/help-with-a-larger-cluster-in-ec2-and-node-clients-failing-to-join/20509/2 "2017-07-06T00:52:55Z")

</div>

Closed on July 6, 2017, 12:52am UTC


