Questo documento riguarda la configurazione di Cassandra 4.0.X, inclusa nelle versioni 4.53.00 o successive di Apigee Edge for Private Cloud. Per informazioni dettagliate sull'esecuzione delle configurazioni descritte qui, consulta la sezione dell'appendice.
Configurazione del garbage collector
Passare all'utilizzo del CMS
Per impostazione predefinita, Apigee fornisce Cassandra con il Garbage Collector G1, che è consigliato per Cassandra 4.X. Tuttavia, per vari casi d'uso e per la tua infrastruttura, come in Edge per il private cloud, puoi scegliere di passare al Garbage Collector di CMS. Per dimensioni dell'heap superiori a 8 GB, Apigee consiglia vivamente di utilizzare G1GC.
Per utilizzare il Garbage Collector di CMS, imposta la seguente configurazione:
conf_jvm_options_gc_type=cms
Per ripristinare l'utilizzo del Garbage Collector G1, rimuovi questa configurazione.
Modificare le impostazioni del garbage collector del CMS
Apigee fornisce i parametri predefiniti per il Garbage Collector del CMS. Questi parametri si applicano quando Cassandra utilizza il CMS. Per modificare questi parametri, utilizza la configurazione conf_jvm_options_cms_gc_setting_lines
. Imposta tutti i parametri JVM pertinenti per la raccolta dei dati dei moduli CMS in una singola riga, separati da "\n".
Esempio:
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
Modificare le impostazioni del garbage collector G1GC
Apigee fornisce i parametri predefiniti per il Garbage Collector G1. Questi parametri si applicano quando è attivata la G1GC predefinita. Se passi al CMS, queste impostazioni non vengono applicate. Per modificare i parametri G1GC, utilizza la configurazione conf_jvm_options_g1_gc_setting_lines
. Imposta tutti i parametri JVM pertinenti per il GC G1 in una singola riga, separati da "\n".
Esempio:
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
Utilizzare le tue impostazioni di Google Cloud
Per ignorare tutte le preimpostazioni di Apigee sia per G1GC che per CMS, imposta le seguenti configurazioni:
conf_jvm_options_gc_type=custom
Specifica tutte le impostazioni GC per la JVM in conf_jvm_options_custom_settings
, separando ogni impostazione con "\n".
Esempio:
conf_jvm_options_gc_type=custom
conf_jvm_options_custom_settings=-XX:+UseParallelGC\n-XX:GCTimeRatio=19
Configurazione delle dimensioni dell'heap
Apigee consiglia vivamente di utilizzare Cassandra con non più di 8 GB di spazio heap. I controlli per limitare la dimensione dell'heap a 8 GB sono in $APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh
.
Per specificare le dimensioni dell'heap senza disattivare manualmente i controlli, utilizza la configurazione conf_jvm_options_custom_settings
. Separa ogni impostazione con "\n".
Esempio:
conf_jvm_options_custom_settings=-Xmx8G\n-Xms8G
Configurazione delle impostazioni generali della JVM
Per aggiungere i parametri JVM a Cassandra, specifica tutte le configurazioni JVM in una singola riga separate da "\n" per la configurazione conf_jvm_options_custom_settings
.
Esempio:
conf_jvm_options_custom_settings=-Dcassandra.start_rpc=true\n-Dcassandra.expiration_date_overflow_policy=CAP\n-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures
Appendice
Come impostare qualsiasi configurazione di Cassandra
- Crea o modifica il file di override della configurazione di Cassandra:
vi $APIGEE_ROOT/customer/application/cassandra.properties
- Aggiungi, rimuovi o modifica la riga di configurazione in base alle esigenze.
- Salva il file e assicurati che sia di proprietà e leggibile dall'utente "apigee":
chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
- Riavvia il servizio Cassandra sul nodo:
apigee-service apigee-cassandra restart
- Ripeti questi passaggi su ogni nodo Cassandra, uno alla volta.
Vari tipi di configurazione
La configurazione conf_jvm_options_custom_settings
può passare parametri diversi alla JVM di Cassandra. Combina vari parametri Java in un'unica configurazione e separali con "\n".
Esempio:
conf_jvm_options_custom_settings=-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures\n-Xmx8G\n-Xms8G