How to change Elected master role to master in ES 2.4.0?

(Yaswanth ) #1

I have ES 2.4.0. I am having a cluster that is running by 3 nodes when i given the following command http://localhost:9200/_cat/nodes?v i got to see there stats like these

host      ip        heap.percent ram.percent  load node.role master name            7          73 -1.00 d         m      Aguja            7          73 -1.00 d         m      Hardwire            3          73 -1.00 d         *      Glitch  

The node.role and master is done by default as it is given in the documentation

In the above stats you can able to see the master eligible node (i.e Glitch) and its role is datanode(d) . Eventhough it is elected master it is performing the responsibilites of both the master and also datanode.

My question is :
1)Since the Glitch is doing both master and data node tasks whether the performance of the node Glitch will be slow? and also is it a good practice in doing so?
2)Can i able to declare the node.role as dedicated master for the Glitch?


(Lee Hinman) #2

What version of ES are you using? I just tested on master and 5.1.2 and
/_cat/nodes is showing mdi for master, data, and ingestion.

(Lee Hinman) #3

Also, have you configured any specific roles in your elasticsearch.yml file?

(Yaswanth ) #4

Since i am using ES 2.4 by default every node will be master-eligible and role as datanode(d).

(Lee Hinman) #5

It looks like this is indeed something that shows up with 2.4, in 2.4,
node.role has a different output:

node.role                        | r,role,dc,nodeRole                 | d:data node, c:client node

Where it only shows either d or c depending on the role. In 5.x it will show
all the roles the node has been assigned.

In your case, node.role is showing d because they are allowed to have data,
and also showing * and m because the nodes are master eligible.

(Yaswanth ) #6

Thanks for your response ..
But what i want to know is different . Please go through my updated question.

(Mark Harwood) #7

Good practice is for production systems to have 3 dedicated master-eligible nodes - any other option represents an architectural compromise.

  • dedicated because asking a master node to also perform indexing or searching duties can put it under stress that prevents it from performing important (but lightweight) management functions necessary for a responsive cluster.

  • 3 nodes because 1 represents a single point of failure and 2 has split-brain potential. Any more than 3 just means machines sat idle.

This is a one-size-fits-all recommendation. Inevitably people may want to cut corners so it is important to understand what you are compromising if you choose to have less than 3 master eligible nodes or force your master-eligible nodes to also take on data searching/indexing roles that might make them unresponsive under heavy load.

A dedicated master has setting set to false.

(Yaswanth ) #8

Thanks for your response.Your are saying [quote="Mark_Harwood, post:7, topic:72439"]
A dedicated master has setting set to false.

But my question is "Glitch is elected master node then why its node.role is d(data.node) rather than m(master).
Can i able to change node.role to m(master) for Glitch? Is it possible?


(Mark Harwood) #9

It is both. @dakrone answered that in his last comment - it's the formatting of the cat output in 2.4

(Yaswanth ) #10

You are saying that Glitch is both master and data node .
In the _cat/nodes output of 2.4 they formatted m.

Pls correct me if i am wrong..


(Christian Dahlqvist) #11

m means that the node is master eligible, but currently not acting as the master in the cluster. * indicates the master eligible node that is currently acting as master.

(system) #12

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