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

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

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( "", 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( "", allHosts )
.put( "", "false"
).put( "http.enabled", false )

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

.put( "client.transport.nodes_sampler_interval", 100 )
.put( "network.tcp.blocking", true )
.put( "node.client", true )
.put( "", nodeName )


    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?


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
To view this discussion on the web visit
For more options, visit