Ich kann den Unterschied zwischen zwei Parametern für die Wiederherstellungsphase des Gateway-Moduls nicht sehen.
In der Dokumentation :
Die Einstellung gateway.recover_after_nodes
(die eine Zahl akzeptiert) steuert nach wie vielen (...) geeigneten Knoten (...) die Wiederherstellung gestartet wird .
Mit gateway.expected_nodes
kann festgelegt werden, wie viele (...) berechtigte Knoten im Cluster erwartet werden und einmal erfüllt sind, (...) Wiederherstellung Startet
Soweit ich weiß, lösen diese beiden Einstellungen die Wiederherstellungsphase aus, sobald die Anzahl der Knoten dem eingestellten Wert entspricht.
Warum eines über das andere?
Und was ist der Sinn, beide zu benutzen?
Zum Beispiel:
%Vor% Was ist in diesem Fall der Zweck von expected_nodes
? Die Wiederherstellung wird ausgelöst, sobald 3 Knoten vorhanden sind. Es muss einen anderen Grund geben, es zu benutzen.
Ich hoffe meine Frage ist klar genug.
Vielen Dank im Voraus!
Wenn Sie recovery_after_nodes, recover_after_data_nodes oder recovery_after_master_nodes verwenden, wird der Cluster nach der Erfüllung aller festgelegten Bedingungen mit recover_after_time beginnen, bevor er mit der Wiederherstellung beginnt:
Die Einstellung von gateway.recover_after_time (die einen Zeitwert akzeptiert) stellt die Zeit ein, die gewartet wird, bis die Wiederherstellung erfolgt ist Die Bedingungen von gateway.recover_after ... nodes sind erfüllt.
Wenn Sie die Knoten expected_nodes, expected_data_nodes oder expected_master verwenden, wird die Wiederherstellung gestartet, sobald alle Bedingungen erfüllt sind - der Cluster wartet nicht. Außerdem wird Recovery_After_time standardmäßig auf 5 Min. Zurückgesetzt.
In Ihrem Testfall:
%Vor%Sobald Sie 3 Knoten erreicht haben, startet eine Countdown-Uhr und der Cluster wird dann entweder in 5 Minuten (Standard) wiederhergestellt oder wenn Sie 5 Knoten treffen. Grundsätzlich können Sie einen minimalen Schwellenwert (recovery_after_nodes) mit einem Timeout (recovery_after_time) festlegen, um auf einen gewünschten Zustand (expected_nodes) zu warten. Sie werden entweder Recovery recovery_after_time nach recovery_after_nodes getroffen oder wann expected_nodes getroffen wird (keine zusätzliche Wartezeit) - je nachdem, was zuerst eintritt.
Aus dem öffentlichen Dokument gibt es Missverständnisse in diesem Thread.
%Vor%In einem erwarteten Cluster mit zwei Knoten wird die Wiederherstellung erst nach fünf Minuten gestartet nachdem der erste Knoten oben ist, aber sobald es zwei Knoten im Cluster gibt, Die Wiederherstellung beginnt sofort (ohne zu warten).
Der durch recover_after_time definierte Timer beginnt also bereits, nachdem ein erster Knoten aktiv ist. nicht nach dem Finden von Knoten beginnen, die in recover_after_nodes
definiert sindTags und Links elasticsearch