Cassandra konfigurieren

In diesem Dokument wird die Konfiguration von Cassandra 4.0.X beschrieben, die in Apigee Edge for Private Cloud-Versionen 4.53.00 und höher enthalten ist. Im Anhang finden Sie Details zur Ausführung der hier beschriebenen Konfigurationen.

Konfiguration der Speicherbereinigung

Zu CMS wechseln

Standardmäßig wird Cassandra in Apigee mit dem G1-Garbage Collector ausgeliefert, der für Cassandra 4.X empfohlen wird. Für verschiedene Anwendungsfälle und Ihre eigene Infrastruktur, z. B. in Edge for Private Cloud, können Sie jedoch zum CMS-Garbage Collector wechseln. Bei Heapgrößen über 8 GB empfiehlt Apigee dringend die Verwendung von G1GC.

Wenn Sie den CMS-Garbage Collector verwenden möchten, legen Sie die folgende Konfiguration fest:

conf_jvm_options_gc_type=cms

Wenn Sie wieder den G1-Garbage Collector verwenden möchten, entfernen Sie diese Konfiguration.

Einstellungen für den CMS-Speicherbereiniger ändern

Apigee stellt Standardparameter für den CMS-Garbage Collector bereit. Diese Parameter gelten, wenn Cassandra CMS verwendet. Wenn Sie diese Parameter ändern möchten, verwenden Sie die Konfigurationsoption conf_jvm_options_cms_gc_setting_lines. Legen Sie alle relevanten JVM-Parameter für den CMS-GC in einer einzigen Zeile fest, getrennt durch „\n“.

Beispiel:

conf_jvm_options_cms_gc_setting_lines=-XX:+UseParNewGC\n-XX:+UseConcMarkSweepGC\n-XX:+CMSParallelRemarkEnabled\n-XX:SurvivorRatio=8\n-XX:MaxTenuringThreshold=1\n-XX:CMSInitiatingOccupancyFraction=75\n-XX:+UseCMSInitiatingOccupancyOnly\n-XX:CMSWaitDuration=10000\n-XX:+CMSParallelInitialMarkEnabled\n-XX:+CMSEdenChunksRecordAlways\n-XX:+CMSClassUnloadingEnabled

Einstellungen für den G1GC-Speicherbereiniger ändern

Apigee stellt Standardparameter für den G1-Speicherbereiniger bereit. Diese Parameter gelten, wenn die Standard-G1GC aktiviert ist. Wenn Sie zu einem CMS wechseln, gelten diese Einstellungen nicht. Verwenden Sie die Konfiguration conf_jvm_options_g1_gc_setting_lines, um die G1GC-Parameter zu ändern. Legen Sie alle relevanten JVM-Parameter für die G1-GC in einer einzigen Zeile fest, getrennt durch „\n“.

Beispiel:

conf_jvm_options_g1_gc_setting_lines=-XX:+UseG1GC\n-XX:G1RSetUpdatingPauseTimePercent=5\n-XX:MaxGCPauseMillis=500\n-XX:InitiatingHeapOccupancyPercent=50\n-XX:ParallelGCThreads=8\n-XX:ConcGCThreads=8\n-XX:+ParallelRefProcEnabled\n-XX:MaxTenuringThreshold=1\n-XX:G1HeapRegionSize=32m\n-XX:G1ReservePercent=15

Eigene GC-Einstellungen verwenden

Wenn Sie alle Apigee-Voreinstellungen sowohl für G1GC als auch für CMS ignorieren möchten, legen Sie die folgenden Konfigurationen fest:

conf_jvm_options_gc_type=custom

Geben Sie alle GC-Einstellungen für die JVM in conf_jvm_options_custom_settings an und trennen Sie die einzelnen Einstellungen durch „\n“.

Beispiel:

conf_jvm_options_gc_type=custom
conf_jvm_options_custom_settings=-XX:+UseParallelGC\n-XX:GCTimeRatio=19

Heap-Größen konfigurieren

Apigee empfiehlt dringend, Cassandra mit maximal 8 GB Heap-Speicher zu betreiben. Die Prüfungen zur Begrenzung der Heap-Größe auf 8 GB finden Sie in $APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh.

Wenn Sie die Größe des Heaps selbst festlegen möchten, ohne die Prüfungen manuell zu deaktivieren, verwenden Sie die Konfiguration conf_jvm_options_custom_settings. Trennen Sie die einzelnen Einstellungen durch „\n“.

Beispiel:

conf_jvm_options_custom_settings=-Xmx8G\n-Xms8G

Allgemeine JVM-Einstellungen konfigurieren

Wenn Sie Cassandra JVM-Parameter hinzufügen möchten, geben Sie alle JVM-Konfigurationen in einer einzigen Zeile mithilfe von „\n“ für die Konfiguration conf_jvm_options_custom_settings an.

Beispiel:

conf_jvm_options_custom_settings=-Dcassandra.start_rpc=true\n-Dcassandra.expiration_date_overflow_policy=CAP\n-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures

Anhang

Cassandra-Konfiguration festlegen

  1. Erstellen oder bearbeiten Sie die Cassandra-Konfigurationsüberschreibungsdatei:
    vi $APIGEE_ROOT/customer/application/cassandra.properties
  2. Fügen Sie die Konfigurationszeile nach Bedarf hinzu, entfernen Sie sie oder ändern Sie sie.
  3. Speichern Sie die Datei und achten Sie darauf, dass sie dem Nutzer „apigee“ gehört und von ihm gelesen werden kann:
    chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
  4. Starten Sie den Cassandra-Dienst auf dem Knoten neu:
    apigee-service apigee-cassandra restart
  5. Wiederholen Sie diese Schritte für jeden Cassandra-Knoten einzeln.

Unterschiedliche Konfigurationstypen

Über die Konfiguration conf_jvm_options_custom_settings können verschiedene Parameter an die Cassandra-JVM übergeben werden. Kombinieren Sie verschiedene Java-Parameter in einer einzigen Konfiguration und trennen Sie sie durch „\n“.

Beispiel:

conf_jvm_options_custom_settings=-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures\n-Xmx8G\n-Xms8G