Configura Cassandra

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 invia 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

  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 tue 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.

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