2014-06-17 9 views
6

Al momento disponiamo di un cluster di 12 nodi in cui tutti i nodi sono idonei, clienti e dati principali. Recentemente abbiamo riscontrato un problema al cervello diviso in cui il master non rispondeva abbastanza a lungo da consentire ad un altro nodo di essere eletto. Questo nonostante tutti i nodi siano attivi e minimum_master_nodes impostati su 7 (il nuovo master potrebbe vedere altri 10 nodi idonei). Vorremmo ridurre il rischio di ciò impostando solo 3 nodi per essere idonei come master e gli altri 9 per essere client, mentre tutti e 12 restano nodi di dati. Avevo pensato che potremmo appena impostato:Creazione di nodi elasticsearch separati di master + dati e client + dati

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

su 3 dei nodi e:

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

dall'altra 9. che ha provocato:

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

ho state cercando inutilmente. C'è un modo giusto per realizzare questo?

risposta

22

Salterei usando node.client - in realtà è in conflitto con l'impostazione node.data e questo è ciò che sta causando il messaggio di errore. Inoltre non è richiesto.

È necessario solo node.master e node.data. Se entrambi sono vere (il valore predefinito) è sia un nodo dati che un nodo master. Se master è falso e i dati sono veri, è un nodo solo dati. Se master è true e data is false è un nodo solo master. E se entrambi sono falsi è un nodo client.

Dal file elasticsearch.yml predefinito corrente per la versione 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 
+0

Totalmente perdere i commenti di configurazione! Otteniamo una configurazione ridotta distribuita attraverso il burattino, ma chiaramente abbiamo bisogno anche dei commenti. Stiamo trovando quell'impostazione: node.client: false sui nodi master + data e node.master: false sul client + i nodi dati funzionano. Grazie! – user3750347

+0

@ user3750347 contrassegna come risposta migliore. – Aaron

Problemi correlati