Looking for cassandra Keywords? Try Ask4Keywords

cassandraReparaturen in Cassandra


Parameter

Option / Flagge Beschreibung
Möglichkeit Optionsbeschreibung
-h Hostname Der Standardwert ist "localhost". Wenn Sie keinen Host angeben, wird die Reparatur auf demselben Host ausgeführt, von dem aus der Befehl ausgeführt wird.
-p JMX-Port Der Standardwert ist 7199.
-u Nutzername. Nur erforderlich, wenn die JMX-Sicherheit aktiviert ist.
-pw Passwort. Nur erforderlich, wenn die JMX-Sicherheit aktiviert ist.
Flagge Beschreibung der Flagge
-lokal Vergleichen und streamen Sie nur Daten von Knoten im "lokalen" Rechenzentrum.
-pr "Partitioner Range" reparieren. Reparieren Sie nur den primären Tokenbereich für eine Replik. Schneller als das Reparieren aller Bereiche Ihrer Replikate, da die gleichen Daten nicht mehrmals repariert werden. Wenn Sie diese Option zum Reparieren eines Knotens verwenden, müssen Sie sie auch für den Rest Ihres Clusters verwenden.
-Par Führen Sie Reparaturen parallel aus. Die Reparaturen werden schneller ausgeführt, die Fähigkeit des Clusters, Anforderungen zu bearbeiten, wird jedoch erheblich eingeschränkt.
-hosts Hier können Sie eine durch Kommas getrennte Liste von Knoten angeben, von denen Ihre Daten gestreamt werden sollen. Nützlich, wenn Sie Knoten haben, von denen bekannt ist, dass sie "gut" sind. Es ist zwar als gültige Option für Cassandra 2.1+ dokumentiert, funktioniert jedoch auch mit Cassandra 2.0.

Bemerkungen

Cassandra Anti-Entropie-Reparaturen:

Die Anti-Entropie-Reparatur in Cassandra besteht aus zwei Phasen. Für eine erfolgreiche und performante Reparatur ist es wichtig, beide zu verstehen.

  • Merkle-Tree-Berechnungen : Berechnet die Unterschiede zwischen den Knoten und ihren Repliken.

  • Daten-Streaming : Basierend auf den Ergebnissen der Merkle-Tree-Berechnungen sollen die Daten von einem Knoten zu einem anderen gestreamt werden. Dies ist ein Versuch, die Daten zwischen Replikaten zu synchronisieren.

Reparatur anhalten :

Sie können eine Reparatur anhalten, indem Sie den Befehl STOP VALIDATION mit dem Befehl nodetool absetzen:

$ nodetool stop validation

Woher weiß ich, wann die Reparatur abgeschlossen ist?

Sie können die erste Reparaturphase (Merkle-Tree-Berechnungen) überprüfen, indem Sie die nodetool compactionstats von nodetool compactionstats überprüfen.

Sie können mit nodetool netstats nach Reparatur-Streams nodetool netstats . Reparatur-Streams werden auch in Ihren Protokollen angezeigt. Sie können sie in Ihren Systemprotokollen wie grep :

$ grep Entropy system.log

INFO [AntiEntropyStage:1] 2016-07-25 07:32:47,077 RepairSession.java (line 164) [repair #70c35af0-526e-11e6-8646-8102d8573519] Received merkle tree for test_users from /192.168.14.3
INFO [AntiEntropyStage:1] 2016-07-25 07:32:47,081 RepairSession.java (line 164) [repair #70c35af0-526e-11e6-8646-8102d8573519] Received merkle tree for test_users from /192.168.16.5
INFO [AntiEntropyStage:1] 2016-07-25 07:32:47,091 RepairSession.java (line 221) [repair #70c35af0-526e-11e6-8646-8102d8573519] test_users is fully synced
INFO [AntiEntropySessions:4] 2016-07-25 07:32:47,091 RepairSession.java (line 282) [repair #70c35af0-526e-11e6-8646-8102d8573519] session completed successfully

Mit diesem Befehl (Bash) können auch aktive Reparaturströme überwacht werden:

$ while true; do date; diff <(nodetool -h 192.168.0.1 netstats) <(sleep 5 && nodetool -h 192.168.0.1 netstats); done

ref: woher weiß ich, ob die nodetool-reparatur abgeschlossen ist

Wie kann ich nach reparierten oder verwaisten Reparaturströmen suchen?

Auf jedem Knoten können Sie dies mit nodetool tpstats überwachen und prüfen, ob in den "AntiEntropy" -Zeilen etwas "blockiert" ist.

$ nodetool tpstats
Pool Name                    Active   Pending      Completed   Blocked  All time blocked
...
AntiEntropyStage                  0         0         854866         0                 0
...
AntiEntropySessions               0         0           2576         0                 0
...

Reparaturen in Cassandra Verwandte Beispiele