2017-03-01 4 views
0

Werden irgendwelche Probleme auftreten, wenn ich den Cassandra "nodetool Reparatur" Befehl mit "nice" depriorize? Es verursacht eine hohe Auslastung der CPU "User Time" und hat negative Auswirkungen auf unsere Produktionssysteme, was zu API-Timeouts in unserer Usergrid-Implementierung führt. Ich sehe Dokumentation zur Begrenzung des Netzwerkdurchsatzes, aber Iowait scheint nicht das Problem zu sein. Gibt es außerdem gute Methoden, dieses Problem zu mildern?Kann ich "nice" Cassandra nodetool Reparatur

Antwort

1

Der Befehl nodetool führt eigentlich nichts aus. Es ruft nur eine JMX-Operation in C * auf, um die Reparatur zu starten, und wartet dann auf Aktualisierungen zum Ausdrucken. Schön zu sein macht keinen Unterschied. Es gibt ein paar Hauptphasen auf die Reparatur

  1. build merkle Bäume (auf jedem Knoten)
  2. Strom ändert
  3. Verdichtungen

Möglicherweise die Validierung Verdichtung (auf einige Versionen sein kann gesteuert mit Komprimierungsdrossel) oder die Streams (können den Stream-Durchsatz über nodetool oder cassandra.yaml einstellen) brennen Ihre CPU. Wenn dies der Fall ist, versuchen Sie es mit den Drosseln, aber in einigen Versionen wird es keinen Unterschied machen.

Nachdem die Reparatur abgeschlossen ist, gibt es normale Verdichtungen, die für Antikompaktierung bei inkrementellen Reparaturen starten, und auch für vollständige Reparaturen, wenn es viele gestreamte Unterschiede gibt. Einige Probleme sind sehr versionsspezifisch, also achten Sie auf Protokolle und wenn die CPU hoch ist, um mehr zu bohren.

Verwandte Themen