Apache Cassandra-Wartungsaufgaben

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

Wartung zur Verhinderung von Entropie

Die Apache Cassandra-Ringknoten erfordern eine regelmäßige Wartung, um für Konsistenz auf allen Knoten zu sorgen. Führen Sie dazu den folgenden Befehl aus:

apigee-service apigee-cassandra apigee_repair -pr

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

  • Wird auf jedem Cassandra-Knoten (in allen Regionen oder Rechenzentren) ausgeführt.
  • Sie werden jeweils auf einem Knoten ausgeführt, um für Konsistenz auf allen Knoten im Ring zu sorgen. Wenn Sie Reparaturjobs gleichzeitig auf mehreren Knoten ausführen, 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 system.log des Knotens nach einem Eintrag mit der UUID der letzten Reparatursitzung und dem Text „session completed successfully“ (Sitzung erfolgreich abgeschlossen). Hier 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
  • Führen Sie das Tool in Zeiten mit relativ geringer Arbeitslast aus, da es das System stark beansprucht.
  • Führen Sie den Befehl mindestens alle sieben Tage aus, um Probleme im Zusammenhang mit vergessenen Löschvorgängen in Cassandra zu beheben.
  • Führen Sie den Befehl an verschiedenen Tagen auf verschiedenen Knoten aus oder planen Sie ihn so, dass zwischen der Ausführung auf den einzelnen Knoten mehrere Stunden liegen.
  • Verwenden Sie die Option -pr (Partitionierungsbereich), um nur den primären Partitionierungsbereich 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 das Nodetool-Reparaturprogramm von Cassandra, das zusätzliche Prüfungen vor der Reparatur von Cassandra durchführt.

Weitere Informationen finden Sie in den folgenden Ressourcen:

Protokolldateiverwaltung

Cassandra-Protokolle 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 20 MB erstellt werden. Sobald dieses Limit erreicht ist, werden ältere Protokolle gelöscht, wenn neuere erstellt werden.

Wenn Sie feststellen, dass Cassandra-Logdateien zu viel Speicherplatz belegen, können Sie die Größe des für Logdateien zugewiesenen Speicherplatzes ändern, indem Sie die Log4j-Einstellungen bearbeiten.

  1. Bearbeiten Sie /opt/apigee/customer/application/cassandra.properties, um die folgenden Eigenschaften festzulegen. Wenn diese 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

Speicherplatzverwaltung

Sie sollten die Cassandra-Laufwerkauslastung regelmäßig überwachen, damit auf jedem Laufwerk mindestens 50 % kostenlos sind. Wenn die Laufwerksauslastung über 50 % steigt, empfehlen wir, mehr Speicherplatz hinzuzufügen, um den Prozentsatz der belegten Speicherkapazität zu reduzieren.

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

  • Löschen von Authentifizierungstokens, wenn sie ablaufen Je nach Konfiguration kann es jedoch einige Wochen dauern, bis der von den Tokens belegte Speicherplatz freigegeben wird. Wenn das automatische Löschen nicht ausreicht, um ausreichend Speicherplatz freizugeben, wenden Sie sich an den Support, um zu erfahren, wie Sie Tokens manuell löschen können, um Speicherplatz freizugeben.
  • Hinweis zur Datenkomprimierung: Ab Edge for Private Cloud 4.51.00 werden bei neuen Installationen von Apigee Cassandra Schlüsselbereiche mit der Graduierten Komprimierungsstrategie erstellt.

    Bei Installationen älterer Versionen von Edge for Private Cloud, die auf Private Cloud 4.51.00 umgestellt wurden, bleibt die vorherige Komprimierungsstrategie erhalten. Wenn die vorhandene Komprimierungsstrategie „SizeTieredCompactionStrategy“ lautet, empfehlen wir, zu „LeveledCompactionStrategy“ zu wechseln, da diese Strategie eine bessere Laufwerknutzung ermöglicht.

Hinweis:Wenn Cassandra Daten komprimiert, kann das eine erhebliche Menge an CPU-Zyklen und Arbeitsspeicher beanspruchen. Die Ressourcennutzung sollte jedoch wieder normal sein, sobald die Komprimierungen abgeschlossen sind. 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 gibt an, ob ausstehende Komprimierungen ausgeführt werden müssen, und die geschätzte Zeit bis zum Abschluss.