Creating separate elasticsearch nodes for master + data and client +

We currently have a wise 12 node cluster, where all nodes are suitable for the wizard, clients, and data. Recently, we were faced with the problem of separation of the brain, when the master was insensitive long enough to select another node. This is despite the fact that all nodes at the top and minimum_master_nodes are set to 7 (the new master could see 10 other suitable nodes). We would like to reduce the risk of this by setting only 3 of them to be suitable for the master, and the remaining 9 - clients, and all 12 - data nodes. I suggested that we could just set:

node.master: true node.client: false node.data: true 

on 3 nodes and:

 node.master: false node.client: true node.data: true 

with another. This led to:

 "org.elasticsearch.ElasticsearchIllegalStateException: node is not configured to store local location" 

I searched to no avail. Is there a proper way to achieve this?

+6
source share
1 answer

I would skip using node.client - it actually conflicts with your node.data parameter, and that is what causes the error message. It is also not required.

You only need node.master and node.data. If both values ​​are true (default), this is both node data and node master. If master is false and the data is correct, this is only the node data. If master is true and the data is false, this is only the node master. And if both are false, this is the node client.

From the current default elasticsearch.yml file for version 1.2.1:

 # You can exploit these settings to design advanced cluster topologies. # # 1. You want this node to never become a master node, only to hold data. # This will be the "workhorse" of your cluster. # #node.master: false #node.data: true # # 2. You want this node to only serve as a master: to not store any data and # to have free resources. This will be the "coordinator" of your cluster. # #node.master: true #node.data: false # # 3. You want this node to be neither master nor data node, but # to act as a "search load balancer" (fetching data from nodes, # aggregating results, etc.) # #node.master: false #node.data: false 
+22
source

Source: https://habr.com/ru/post/970972/


All Articles