Apache Cassandra-Wartungsaufgaben

In diesem Abschnitt werden regelmäßige Wartungsaufgaben für Cassandra beschrieben.

Anti-Entropie-Wartung

Die Ringknoten von Apache Cassandra müssen regelmäßig gewartet werden, um die Konsistenz auf allen Knoten sicherzustellen. Verwenden Sie dazu den folgenden Befehl:

apigee-service apigee-cassandra apigee_repair -pr

Apigee empfiehlt Folgendes, wenn Sie diesen Befehl ausführen:

  • Auf jedem Cassandra-Knoten ausführen (in allen Regionen oder Rechenzentren).
  • Auf jeweils einem Knoten ausführen, um die Konsistenz auf allen Knoten im Ring sicherzustellen. Wenn Reparaturjobs gleichzeitig auf mehreren Knoten ausgeführt werden, kann dies die Integrität von Cassandra beeinträchtigen.

    Wenn Sie prüfen möchten, ob ein Reparaturjob auf einem Knoten erfolgreich abgeschlossen wurde, suchen Sie in der Datei des Knotens system.log nach einem Eintrag mit der UUID der letzten Reparatursitzung und dem Ausdruck „session completed successfully“. Hier ist ein Beispiel für einen Logeintrag:

    INFO [AntiEntropySessions:1] 2015-03-01 10:02:56,245 RepairSession.java (line 282) [repair #2e7009b0-c03d-11e4-9012-99a64119c9d8] session completed successfully"
    Ref: https://support.datastax.com/hc/en-us/articles/204226329-How-to-check-if-a-scheduled-nodetool-repair-ran-successfully
  • Während Zeiträumen mit relativ geringer Arbeitslast ausführen (das Tool verursacht eine erhebliche Last auf dem System).
  • Mindestens alle sieben Tage ausführen, um Probleme im Zusammenhang mit den „vergessenen Löschvorgängen“ von Cassandra zu vermeiden.
  • An verschiedenen Tagen auf verschiedenen Knoten ausführen oder so planen, dass zwischen der Ausführung auf den einzelnen Knoten mehrere Stunden liegen.
  • Verwenden Sie die Option -pr (Partitioniererbereich), um nur den primären Partitioniererbereich des Knotens anzugeben.

Wenn Sie die JMX-Authentifizierung für Cassandra aktiviert haben, müssen Sie den Nutzernamen und das Passwort angeben, wenn Sie nodetool aufrufen. Beispiel:

apigee-service apigee-cassandra apigee_repair -u username -pw password -pr

Sie können auch den folgenden Befehl ausführen, um die unterstützten Optionen von apigee_repair: zu prüfen:

apigee-service apigee-cassandra apigee_repair -h

Hinweis: apigee_repair ist ein Wrapper für die Reparatur von Cassandra-Nodetools, mit dem zusätzliche Prüfungen durchgeführt werden, bevor die Reparatur von Cassandra ausgeführt wird.

Weitere Informationen finden Sie in den folgenden Ressourcen:

Wartung von Logdateien

Cassandra-Logs werden auf jedem Knoten im Verzeichnis /opt/apigee/var/log/apigee-cassandra gespeichert. Standardmäßig können maximal 50 Logdateien mit einer maximalen Größe von jeweils 20 MB erstellt werden. Sobald dieses Limit erreicht ist, werden ältere Logs gelöscht, wenn neuere Logs erstellt werden.

Wenn Sie feststellen, dass Cassandra-Logdateien zu viel Speicherplatz belegen, können Sie die für Logdateien zugewiesene Menge an Speicherplatz ändern, indem Sie die log4j-Einstellungen bearbeiten.

  1. Bearbeiten Sie /opt/apigee/customer/application/cassandra.properties , um die folgenden Eigenschaften festzulegen. Wenn die Datei nicht vorhanden ist, erstellen Sie sie:
    conf_logback_maxfilesize=20MB
    # max file size
    conf_logback_maxbackupindex=50 # max open files
  2. Starten Sie Cassandra mit dem folgenden Befehl neu:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart

Wartung des Speicherplatzes

Sie sollten die Cassandra-Festplattenauslastung regelmäßig prüfen, um sicherzustellen, dass mindestens 50 % der einzelnen Festplatten verfügbar sind. Wenn die Festplattenauslastung über 50 % steigt, empfehlen wir, mehr Speicherplatz hinzuzufügen, um den Prozentsatz der Auslastung zu reduzieren.

Cassandra führt automatisch die folgenden Vorgänge aus, um die eigene Festplattenauslastung zu reduzieren:

  • Löschen von Authentifizierungstokens, wenn sie ablaufen. Je nach Konfiguration kann es jedoch einige Wochen dauern, bis der von den Tokens verwendete Speicherplatz freigegeben wird. Wenn das automatische Löschen nicht ausreicht, um genügend Speicherplatz freizugeben, wenden Sie sich an den Support, um Informationen zum manuellen Löschen von Tokens zu erhalten.
  • Datenkomprimierung: Ab Edge for Private Cloud 4.51.00 werden bei neuen Installationen von Apigee Cassandra Keyspaces mit der Leveled Compaction Strategy erstellt.

    Bei Installationen älterer Versionen von Edge for Private Cloud, die auf Edge for Private Cloud 4.54.00 aktualisiert wurden, bleibt die vorherige Komprimierungsstrategie erhalten. Wenn die vorhandene Komprimierungsstrategie SizeTieredCompactionStrategy ist, empfiehlt Apigee, zu LeveledCompactionStrategy zu wechseln, da diese eine bessere Festplatten auslastung bietet. Eine Anleitung finden Sie unter Komprimierungsstrategie von Cassandra ändern.

Hinweis: Wenn Cassandra Daten komprimiert, kann dies eine erhebliche Menge an CPU-Zyklen und Arbeitsspeicher in Anspruch nehmen. Die Ressourcenauslastung sollte jedoch wieder normal sein, sobald die Komprimierung abgeschlossen ist. Sie können den Befehl 'Nodetool compactionstats' auf jedem Knoten ausführen, um zu prüfen, ob die Komprimierung ausgeführt wird. Die Ausgabe von compactionstats informiert Sie darüber, ob es ausstehende Komprimierungen gibt, die ausgeführt werden müssen, und gibt die geschätzte Zeit für den Abschluss an.