Elastic search configuration with load balacer


The have a 3 node cluster with 2 nodes(master and data) and 1 node as master only. I have a app connecting to this cluster and I would like to place a load balancer between app and ES cluster for high availability. Which means that app will send the request to load balancer and request will be routed to any one of the node. Could you please let me know if we need to add all three nodes since all three are masters or we should just need to add only 2 nodes since they are master+data nodes.


Either will work, so it really depends which you would prefer. You can generally send requests to any node in an Elasticsearch cluster. The node that handles the request is called the coordinating node. Coordinating searches and indexing takes up some resources, so in larger clusters it's a good idea not to use the master-eligible nodes as coordinating nodes. The docs say:

While master nodes can also behave as coordinating nodes and route search and indexing requests from clients to data nodes, it is better not to use dedicated master nodes for this purpose. It is important for the stability of the cluster that master-eligible nodes do as little work as possible.

However, in a small cluster with mixed master/data nodes, neither approach is obviously better.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.