den Dienst beenden und den Dämon sind in der Tat die richtigen Wege zur Abschaltung eines Knoten zu töten. Es wird jedoch nicht empfohlen, dies direkt zu tun, wenn Sie einen Knoten für die Wartung abbauen möchten. Wenn Sie keine Repliken haben, verlieren Sie Daten.
Wenn Sie einen Knoten direkt herunterfahren, wartet Elasticsearch auf 1 m (Standardzeit), damit es wieder online geht. Wenn dies nicht der Fall ist, wird es beginnen, die Shards von diesem Knoten anderen Knoten zuzuordnen, die viel IO verschwenden.
Ein typischer Ansatz wäre vorübergehend Scherbe Zuordnung zu deaktivieren, indem Sie die Ausgabe:
PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.enable": "none"
}
}
Nun, wenn Sie einen Knoten herunternehmen, ES wird nicht versuchen Scherbe zu anderen Knoten aus diesem Knoten zuweisen und Sie können führen Sie Wartungsarbeiten und dann, sobald der Knoten nach oben ist, können Sie Scherbe Zuordnung wieder aktivieren:
PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.enable": "all"
}
}
Quelle: https://www.elastic.co/guide/en/elasticsearch/reference/5.5/restart-upgrade.html
Wenn Sie keine Replikate für alle Ihre Indizes haben, führt die Ausführung dieser Art von Aktivität bei einigen Indizes zu Ausfallzeiten. Eine sauberere Art und Weise in diesem Fall wäre all die Scherben zu anderen Knoten zu migrieren, bevor Sie den Knoten nach unten nehmen:
PUT _cluster/settings
{
"transient" : {
"cluster.routing.allocation.exclude._ip" : "10.0.0.1"
}
}
Dadurch wird alle Scherben von 10.0.0.1
zu anderen Knoten verschieben (die Zeit wird in Abhängigkeit von den Daten übernehmen). Sobald alles erledigt ist, können Sie den Knoten beenden, Wartungsarbeiten durchführen und ihn wieder online schalten. Dies ist eine langsamere Operation und ist nicht erforderlich, wenn Sie über Replikate verfügen.
(statt _IP, _id, _name mit Wildcards wird gut funktionieren.)
Weitere Informationen: https://www.elastic.co/guide/en/elasticsearch/reference/5.5/allocation-filtering.html
Andere Antworten haben erklärt, wie ein Prozess zu töten.
So scheint es, dass die Shutdown-API ab elasticsearch 1.6 veraltet ist (gemäß dem bereitgestellten Link). Was ist die empfohlene neue Methode zum Herunterfahren? – Mike
Ich denke, es ist veraltet, weil Sie es jetzt als Dienst installieren und Service Stop Elasticsearch ausführen können.Wenn Sie es nur für Tests ausführen, drücken Sie STRG + C und Sie sind fertig. – dadoonet
"gracefull" => Sie können Ihre Shard vorher mit der Umleitung API https://www.elastic.co/guide/en/elasticsearch/reference/2.4/cluster-reroute.html –