2013-02-22 2 views

Antwort

37

Der Master-Knoten ist derselbe wie jeder andere Knoten im Cluster, außer dass er als Master ausgewählt wurde.

Es ist verantwortlich für die Koordinierung von clusterweiten Änderungen, wie das Hinzufügen oder Entfernen eines Knotens, das Erstellen, Löschen oder Ändern des Zustands (d. H. Öffnen/Schließen) eines Index und die Zuweisung von Shards zu Knoten. Wenn eine dieser Änderungen auftritt, wird der "Clusterstatus" vom Master aktualisiert und auf allen anderen Knoten im Cluster veröffentlicht. Es ist der einzige Knoten, der einen neuen Clusterstatus veröffentlichen kann.

Die Aufgaben, die ein Master ausführt, sind leicht. Alle Aufgaben, die sich mit Daten befassen (z. B. Indizierung, Suche usw.), müssen den Master nicht einbeziehen. Wenn Sie den Master als Nicht-Daten-Knoten ausführen (dh einen Knoten, der als Master und als Router fungiert, aber keine Daten enthält), kann der Master glücklich auf einer kleinen Box laufen.

Ein Knoten darf Master werden, wenn er als "Master-berechtigt" markiert ist (standardmäßig alle Knoten). Wenn der aktuelle Master ausfällt, wird ein neuer Master vom Cluster ausgewählt.

Eine wichtige Konfigurationsoption in Ihrem Cluster ist minimum_master_nodes. Dies gibt die Anzahl der "Master-fähigen" Knoten an, die ein Knoten sehen können muss, um Teil eines Clusters zu sein. Sein Zweck ist es, "Split Brain" zu vermeiden, dh den Cluster in zwei Cluster aufzuteilen, von denen beide denken, dass sie richtig funktionieren.

Wenn Sie beispielsweise über 3 Knoten verfügen, die alle master-fähig sind, und minimum_master_nodes auf 1 setzen, wird der dritte Knoten von den anderen beiden Knoten getrennt und es wird immer noch ein masterfähiger Knoten (selbst) angezeigt. und denkt, dass es selbst einen Cluster bilden kann.

Setzen Sie stattdessen in diesem Fall minimum_master_nodes auf 2 (Anzahl der Knoten/2 + 1). Wenn der dritte Knoten getrennt wird, werden nicht genügend Masterknoten angezeigt, sodass er selbst keinen Cluster bildet. Es wird weiterhin versuchen, dem ursprünglichen Cluster beizutreten.

Während Elasticsearch sehr bemüht ist, die richtigen Standardwerte zu wählen, ist minimum_master_nodes unmöglich zu erraten, da es keine Möglichkeit gibt zu wissen, wie viele Knoten Sie ausführen möchten. Das müssen Sie selbst konfigurieren.

+0

Große Erklärung Clinton! – javanna

+0

Danke für deine wundervolle Antwort. Cluster-Metadaten enthalten etwas wie Cluster-Sate, wie Mapping-Typ, Shards-Zuweisung, oder? Knoten-Metadaten enthalten was? Enthält es einige Informationen zu Indizes? – Hoony

+0

Ja, tut es. Sie können genau sehen, was es enthält, indem Sie diese Anforderung für einen Knoten in Ihrem Cluster ausführen: curl -XGET 'http://127.0.0.1:9200/_cluster/state?pretty=1' – DrTech

Verwandte Themen