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     
127.0.0.1 127.0.0.1            7          73 -1.00 d         m      Aguja    
127.0.0.1 127.0.0.1            7          73 -1.00 d         m      Hardwire 
127.0.0.1 127.0.0.1            3          73 -1.00 d         *      Glitch  

The node.role and master is done by default as it is given in the documentation https://www.elastic.co/guide/en/elasticsearch/reference/2.4/modules-node.html

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?

Thanks..


(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.
Thanks..


(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 node.data setting set to false.


(Yaswanth ) #8

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

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?

Thanks


(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..

Thanks


(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.