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
Zum 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 und durch „\n“ getrennt 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
- Erstellen oder bearbeiten Sie die Cassandra-Konfigurationsüberschreibungsdatei:
vi $APIGEE_ROOT/customer/application/cassandra.properties
- Fügen Sie die Konfigurationszeile nach Bedarf hinzu, entfernen Sie sie oder ändern Sie sie.
- Speichern Sie die Datei und stellen Sie sicher, dass sie dem „Apigee“-Benutzer gehört und von diesem gelesen werden kann:
chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
- Starten Sie den Cassandra-Dienst auf dem Knoten neu:
apigee-service apigee-cassandra restart
- Wiederholen Sie diese Schritte nacheinander auf jedem Cassandra-Knoten.
Verschiedene Konfigurationsarten
Die Konfiguration conf_jvm_options_custom_settings
kann verschiedene Parameter an die Cassandra JVM übergeben. 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