2017-12-14 2 views
1

Was ist die richtige Methode, um den Befehl nodetool repair auszuführen? In einem Cassandra-Cluster mit 3 Knoten in einem einzelnen Datencenter sollten wir nodetool repair oder nodetool repair -pr ausführen?Korrekte Verwendung des Befehls nodetool repair

Gemäß dem Cassandra Apache Dokument http://cassandra.apache.org/doc/latest/operating/repair.html,

„standardmäßig Reparatur wird auf allen Token Bereichen durch den Knoten repliziert arbeiten Sie auf Reparatur ausführen, die doppelte Arbeit verursachen, wenn Sie es auf jedem Knoten laufen Das -pr-Flag repariert nur die "primären" Bereiche auf einem Knoten, sodass Sie Ihren gesamten Cluster reparieren können, indem Sie nodetool repair -pr auf jedem Knoten in einem einzelnen Datencenter ausführen. "

Das Ausführen von "nodetool repair" dauert mehr als 5 mins.Aber laufe "nodetool repair -pr" benötigt weniger Zeit.So, ich möchte wissen, ob "nodetool repair -pr" die richtige Wahl für 3-Knoten-Cassandra-Cluster ist in einem einzigen Datencenter. Bitte Beratung.

+0

müssen Sie 'nodetool repair -pr' auf jedem Knoten im Cluster ausführen. und Sie müssen es nacheinander tun, weil Sie nicht mehrere Reparaturen gleichzeitig ausführen können. Die verstrichene Zeit wird also 3x länger sein. – LHWizard

Antwort

0

Wenn Sie eine Reparatur in regelmäßigen Abständen ausführen, sollten Sie die Option -pr ausführen, um nur den primären Token-Bereich zu reparieren. Auf diese Weise wird der ganze Ring repariert.

Aber wenn Sie bis jetzt keine Reparatur ausgeführt haben, wird wahrscheinlich der beste Weg sein, eine vollständige Reparatur und dann Wartungsreparaturen mit der Option -pr auszuführen.

Beachten Sie außerdem, dass das Reparaturverhalten je nach Cassandra-Version geändert wird. Die Standard-Reparatur in 2.2 und danach ist inkrementell. Wenn Sie eine vollständige Reparatur auslösen möchten, müssen Sie explizit die Option -full verwenden. Überprüfen Sie für Versionen vor 2.2 die Dokumentation.

1

Beachten Sie, dass wenn Sie -pr verwenden, nicht gleichzeitig -inc verwenden, da diese beiden not recommended zusammen verwendet werden. Also im Grunde, wie andere Leute vorschlagen, vor 2.2, auf jedem Knoten können Sie einfach nodetool repair -pr; während Sie nach 2.2 lieber nodetool repair -pr -full verwenden, um die inkrementelle Reparatur zu unterdrücken.

Verwandte Themen