Cassandra konfigurieren

In diesem Dokument wird die Konfiguration von Cassandra 3.11.X behandelt, das in Apigee Edge for Private Cloud ab Version 4.52.02 enthalten ist. Weitere Informationen zur Durchführung der hier beschriebenen Konfigurationen finden Sie im Anhang.

Konfiguration der automatischen Speicherbereinigung

Zu CMS wechseln

Standardmäßig versendet Apigee Cassandra mit dem G1 Garbage Collector, der für Cassandra 3.X empfohlen wird. Für verschiedene Anwendungsfälle und Ihre eigene Infrastruktur, wie in Edge for Private Cloud, können Sie jedoch zum CMS Garbage Collector wechseln. Für Heap-Größen, die größer als 8 GB sind, empfiehlt Apigee dringend die Verwendung von G1GC.

Legen Sie die folgende Konfiguration fest, um den CMS Garbage Collector zu verwenden:

conf_jvm_options_gc_type=cms

Wenn Sie wieder die automatische Speicherbereinigung von G1 verwenden möchten, entfernen Sie diese Konfiguration.

Einstellungen für die automatische Speicherbereinigung für CMS ä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 Konfiguration conf_jvm_options_cms_gc_setting_lines. Geben Sie alle relevanten JVM-Parameter für CMS GC in einer einzigen Zeile an und trennen Sie sie 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 die automatische Speicherbereinigung von G1GC ändern

Apigee stellt Standardparameter für den G1 Garbage Collector bereit. Diese Parameter gelten, wenn das standardmäßige G1GC aktiviert ist. Wenn du zu CMS wechselst, gelten diese Einstellungen nicht. Zum Ändern der G1GC-Parameter verwenden Sie die Konfiguration conf_jvm_options_g1_gc_setting_lines. Geben Sie alle relevanten JVM-Parameter für G1 GC in einer einzigen Zeile an und trennen Sie sie 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 für G1GC und 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 nicht mehr als 8 GB Heap-Speicherplatz zu verwenden. Prüfungen zum Begrenzen der Heap-Größe auf 8 GB finden in $APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh statt.

Wenn Sie Ihre eigene Heap-Größe angeben möchten, ohne 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 für die Konfiguration conf_jvm_options_custom_settings alle JVM-Konfigurationen in einer einzigen Zeile an und trennen Sie sie durch „\n“.

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 „Apigee“-Nutzer gehört und von diesem 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 nacheinander auf jedem Cassandra-Knoten.

Verschiedene Konfigurationsarten

Mit der 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