Configurer Cassandra

Ce document couvre la configuration de Cassandra 3.11.X, inclus dans la version 4.52.02 ou ultérieure d'Apigee Edge pour Private Cloud. Reportez-vous à la section de l'annexe pour en savoir plus sur l'exécution des configurations décrites ici.

Configuration du récupérateur de mémoire

Passez au CMS

Par défaut, Apigee fournit Cassandra avec le récupérateur de mémoire G1, recommandé pour Cassandra 3.X. Toutefois, pour des cas d'utilisation variés et pour votre propre infrastructure, comme Edge pour Private Cloud, vous pouvez choisir de basculer vers le récupérateur de mémoire du CMS. Pour les tailles de tas de mémoire supérieures à 8 Go, Apigee recommande vivement d'utiliser G1GC.

Pour utiliser le récupérateur de mémoire du 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 du CMS

Apigee fournit des paramètres par défaut pour le récupérateur de mémoire du 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 la récupération de mémoire 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 récupérateur de mémoire G1. Ces paramètres s'appliquent lorsque le G1GC par défaut est activé. Si vous passez au 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 la récupération de mémoire 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 récupération de mémoire

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 récupération de mémoire pour la JVM dans conf_jvm_options_custom_settings, en les séparant par "\n".

Exemple :

conf_jvm_options_gc_type=custom
conf_jvm_options_custom_settings=-XX:+UseParallelGC\n-XX:GCTimeRatio=19

Configurer la taille des segments de mémoire

Apigee recommande vivement d'utiliser Cassandra avec un espace de tas de mémoire maximum de 8 Go. Les vérifications visant à limiter la taille du tas de mémoire à 8 Go se trouvent dans $APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh.

Pour spécifier votre propre dimensionnement du tas de mémoire 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 JVM généraux

Pour ajouter des paramètres JVM à Cassandra, spécifiez toutes les configurations JVM sur une seule ligne en les séparant 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

  1. Créez ou modifiez le fichier de remplacement de configuration Cassandra:
    vi $APIGEE_ROOT/customer/application/cassandra.properties
  2. Ajoutez, supprimez ou modifiez la ligne de configuration selon vos besoins.
  3. Enregistrez le fichier et assurez-vous qu'il est détenu et lisible par l'utilisateur "apigee" :
    chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
  4. Redémarrez le service Cassandra sur le nœud:
    apigee-service apigee-cassandra restart
  5. Répétez ces étapes sur chaque nœud Cassandra, un par un.

Différents types de configuration

La configuration conf_jvm_options_custom_settings peut transmettre différents paramètres à la JVM Cassandra. Combinez différents paramètres Java dans une configuration unique et séparez-les par "\n".

Exemple :

conf_jvm_options_custom_settings=-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures\n-Xmx8G\n-Xms8G