Angenommen, ich hatte 5 Knoten im Cluster und musste zur Laufzeit 2 Knoten entfernen. Wie kann dies getan werden, ohne die Indizes zu beeinflussen?
Ich hatte einen kontinuierlichen Datenstrom mit fast 10 Gbphour, der kontinuierlich indiziert wird.
Hilft das Rebalancing dabei? Danke im Voraus
elasticsearch
Lav
quelle
quelle
Antworten:
Sie können einen Knoten außer Betrieb nehmen, indem Sie den Cluster anweisen, ihn von der Zuordnung auszuschließen. (Aus der Dokumentation hier )
Dies führt dazu, dass Elasticsearch die Shards auf diesem Knoten den verbleibenden Knoten zuordnet, ohne dass sich der Status des Clusters in Gelb oder Rot ändert (selbst wenn Sie Replikation 0 haben).
Sobald alle Shards neu zugewiesen wurden, können Sie den Knoten herunterfahren und alles tun, was Sie dort tun müssen. Wenn Sie fertig sind, fügen Sie den Knoten für die Zuweisung hinzu, und Elasticsearch gleicht die Shards erneut aus.
quelle
curl -XGET 'http://ES_SERVER:9200/_cluster/health?pretty'
; Wenn keine Knoten verschoben werden, muss der ausgeschlossene Knoten entleert und sicher heruntergefahren sein. Eine andere Möglichkeit besteht darin, zu überprüfencurl -XGET 'http://ES_SERVER:9200/_nodes/NODE_NAME/stats/indices?pretty'
, ob auf dem Knoten keine Dokumente mehr vorhanden sind.Um den Elasticsearch-Knoten aus dem Cluster zu entfernen, führen Sie einfach den folgenden Befehl aus
Hier
P.P.P.P
ist die private IP des Masterknotens. Sie können auch die IP-localhost
Adresse verwenden, auf der elasticsearch ausgeführt wirdlocalhost
.X.X.X.X
ist die private IP des Knotens, der aus dem Cluster entfernt werden soll.Dieser Befehl gibt aus,
acknowledgement
true
ob der Knoten zum Entfernen akzeptiert wird und die Datenverschiebung beginnt. Überprüfen Sie, ob die Datenverschiebung beendet ist und auf dem Knoten keine Shards mehr vorhanden sind, und stoppen Sie dann denelasticsearch
Prozess undstop/terminate
die Instanz. Die Befehle zum Überprüfen der Datenverschiebung und der verbleibenden Shards finden Sie in diesem Artikel .quelle