Configura Cassandra

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

  1. Crea o modifica il file di override della configurazione di Cassandra:
    vi $APIGEE_ROOT/customer/application/cassandra.properties
  2. Aggiungi, rimuovi o modifica la riga di configurazione in base alle esigenze.
  3. Salva il file e assicurati che sia di proprietà e leggibile dall'utente "apigee":
    chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
  4. Riavvia il servizio Cassandra sul nodo:
    apigee-service apigee-cassandra restart
  5. 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