How to set minimum master node in elasticsearch.yml file?

Running ElasticSearch 1.7 along with Java 7..

So I have a one cluster node with three system and each contains 1 master node,1 data node & 1 client node.

Totally, we will have 9 eligible nodes

My Question is.

How to set minimum master nodes in elasticsearch.yml?


No.of master nodes= No. of nodes/2+1

number of nodes represent which node?



Are you saying you have 3 separate cluster? Each has 1 master node, 1 data node and 1 client node? Sorry I am not sure what your configuration is. For "No. of nodes" the only nodes you need to consider is any node which has "node.master: true".

Hi Mike,

No I have only one cluster and has nine nodes.

The formula to calculate no of minimum master nodes is = (no.of nodes/2+1).

My Question is
1.while calculating whether I should consider no of nodes as master, data, client or all nodes in the cluster.
2. How to set and calculate minimum master nodes value in elasticsearch.yml?


In the N/2+1 formula, N denotes the number of master-eligible nodes. In your case N=1, hence:

discovery.zen.minimum_master_nodes: 1

Thanks for your response.

To set the problem statement right, we have 3 Physical Servers.

Our plan is to setup
a. 3 Master Nodes (1 in each server)
b 3 Client Nodes (1 in each server)
c. 3 Data Nodes (1 in each server)

So, in total, we are planning to have 9 Nodes running from 3 Physical Servers.

Going by the formula, if we consider N as the number of master-eligible nodes (which is 3, in our case),
discovery.zen.minimum_master_nodes: 3/2+1 = 2

Is this a right setting?


And this is the same cluster? Yes, then you have three master-eligible nodes and consequently minimum_master_nodes should be set to two.

Unless these physical servers are very well equipped (e.g. >64 GB RAM) I suspect it's a mistake to run as many ES instances as you're planning.

1 Like

Yes, ours is highly configured servers with RAM > 64 GB.