Ce document décrit la configuration de Cassandra 4.0.X, inclus avec les versions 4.53.00 ou ultérieures d'Apigee Edge pour le cloud privé. Pour savoir comment effectuer les configurations décrites ici, consultez l'annexe.
Configuration du garbage collector
Passer à l'utilisation d'un CMS
Par défaut, Apigee fournit Cassandra avec le G1 Garbage Collector, qui est recommandé pour Cassandra 4.X. Toutefois, pour différents cas d'utilisation et votre propre infrastructure, comme dans Edge for Private Cloud, vous pouvez choisir de passer au collecteur de déchets CMS. Pour les tailles de tas supérieures à 8 Go, Apigee recommande vivement d'utiliser G1GC.
Pour utiliser le ramasse-poubelle CMS, définissez la configuration suivante:
conf_jvm_options_gc_type=cms
Pour revenir à l'utilisation du récupérateur de mémoire G1, supprimez cette configuration.
Modifier les paramètres du récupérateur de mémoire CMS
Apigee fournit des paramètres par défaut pour le garbage collector CMS. Ces paramètres s'appliquent lorsque Cassandra utilise le CMS. Pour modifier ces paramètres, utilisez la configuration conf_jvm_options_cms_gc_setting_lines
. Définissez tous les paramètres JVM pertinents pour le GC CMS sur une seule ligne, séparés par "\n".
Exemple :
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
Modifier les paramètres du récupérateur de mémoire G1GC
Apigee fournit des paramètres par défaut pour le garbage collector G1. Ces paramètres s'appliquent lorsque le G1GC par défaut est activé. Si vous passez à un CMS, ces paramètres ne s'appliquent pas. Pour modifier les paramètres G1GC, utilisez la configuration conf_jvm_options_g1_gc_setting_lines
. Définissez tous les paramètres JVM pertinents pour le GC G1 sur une seule ligne, séparés par "\n".
Exemple :
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
Utiliser vos propres paramètres de GC
Pour ignorer tous les préréglages d'Apigee pour G1GC et CMS, définissez les configurations suivantes:
conf_jvm_options_gc_type=custom
Spécifiez tous les paramètres de GC pour la JVM dans conf_jvm_options_custom_settings
, en séparant chaque paramètre par "\n".
Exemple :
conf_jvm_options_gc_type=custom
conf_jvm_options_custom_settings=-XX:+UseParallelGC\n-XX:GCTimeRatio=19
Configurer les tailles de tas de mémoire
Apigee recommande vivement d'utiliser Cassandra avec un espace de tas ne dépassant pas 8 Go. Les vérifications visant à limiter la taille de la pile à 8 Go se trouvent dans $APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh
.
Pour spécifier votre propre taille de tas sans désactiver manuellement les vérifications, utilisez la configuration conf_jvm_options_custom_settings
. Séparez chaque paramètre par "\n".
Exemple :
conf_jvm_options_custom_settings=-Xmx8G\n-Xms8G
Configurer les paramètres généraux de la JVM
Pour ajouter des paramètres JVM à Cassandra, spécifiez toutes les configurations JVM sur une seule ligne, séparées par "\n" pour la configuration conf_jvm_options_custom_settings
.
Exemple :
conf_jvm_options_custom_settings=-Dcassandra.start_rpc=true\n-Dcassandra.expiration_date_overflow_policy=CAP\n-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures
Annexe
Définir une configuration Cassandra
- Créez ou modifiez le fichier de forçage de la configuration Cassandra :
vi $APIGEE_ROOT/customer/application/cassandra.properties
- Ajoutez, supprimez ou modifiez la ligne de configuration si nécessaire.
- Enregistrez le fichier et assurez-vous qu'il appartient à l'utilisateur "apigee" et qu'il est lisible par celui-ci :
chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
- Redémarrez le service Cassandra sur le nœud :
apigee-service apigee-cassandra restart
- Répétez ces étapes sur chaque nœud Cassandra, un par un.
Divers types de configuration
La configuration conf_jvm_options_custom_settings
peut transmettre différents paramètres à la JVM Cassandra. Combinez plusieurs paramètres Java dans une seule configuration et séparez-les par "\n".
Exemple :
conf_jvm_options_custom_settings=-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures\n-Xmx8G\n-Xms8G