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
- 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 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
- Starten Sie den Cassandra-Dienst auf dem Knoten neu:
apigee-service apigee-cassandra restart
- 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