We are having 15 machines ElasticSearch cluster of version 5.6.0, out of which only 5 machines are defined as master eligible and all 15 machines are defined as data nodes.
Now If we are using Java Transport Client as specified in https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/transport-client.html as below
TransportClient client = new PreBuiltTransportClient(Settings.EMPTY)
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host1"), 9300))
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host2"), 9300));
Then which nodes to be added in transport address in transport client??
Should we add only master eligible 5 nodes in client connection or all 15 data nodes need to be added in client connection?
It basically means that you are going to add more load to the 5 data nodes than the others.
I'd say it's up to you but ideally, I think that I'd create:
15 data nodes (master: false, data: true, ingest: false)
Then I'd set the 3 client nodes in the transport client (or the rest client).
If you can't afford that number of physical machines, you can collocate master nodes and client nodes on the same machine.
How did you get that number of 15 data nodes? If it's just a random number, may be trying to decrease it to 12 and use the 3 remaining ones as master and client would be ok?
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.