Questo documento illustra la configurazione di Cassandra 3.11.X, inclusa in Apigee Edge per il cloud privato versione 4.52.02 o successive. Per i dettagli sull'esecuzione delle configurazioni qui descritte, consulta la sezione dell'appendice.
Configurazione del garbage collector
Passa all'utilizzo di CMS
Per impostazione predefinita, Apigee spedisce Cassandra con il Garbage Collector G1, consigliato per Cassandra 3.X. Tuttavia, per diversi casi d'uso e per la tua infrastruttura, come in Edge per il cloud privato, puoi scegliere di passare a Garbage Collector di CMS. Per dimensioni heap superiori a 8 GB, Apigee consiglia vivamente di utilizzare G1GC.
Per utilizzare Garbage Collector di CMS, imposta la configurazione seguente:
conf_jvm_options_gc_type=cms
Per tornare a utilizzare il Garbage Collector di G1, rimuovi questa configurazione.
Modificare le impostazioni del garbage collector CMS
Apigee fornisce parametri predefiniti per la garbage Collector di CMS. Questi parametri si applicano quando Cassandra utilizza CMS. Per modificare questi parametri, utilizza la configurazione conf_jvm_options_cms_gc_setting_lines
. Imposta tutti i parametri JVM pertinenti per il GC di CMS in un'unica 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
Modifica le impostazioni del garbage collector G1GC
Apigee fornisce parametri predefiniti per il Garbage Collector di G1. Questi parametri si applicano quando è abilitato G1GC predefinito. Se passi a 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 di G1 in un'unica 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 heap
Apigee consiglia vivamente di utilizzare Cassandra con non più di 8 GB di spazio heap. I controlli per limitare la dimensione dello heap a 8 GB sono in $APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh
.
Per specificare le dimensioni dell'heap senza disabilitare 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 JVM generali
Per aggiungere 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 una configurazione 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 tue 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.
Diversi tipi di configurazione
La configurazione conf_jvm_options_custom_settings
può passare diversi parametri alla JVM 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