Cette section décrit les tâches de maintenance périodiques pour Cassandra.
Maintenance anti-entropie
Les nœuds de l'anneau Apache Cassandra nécessitent une maintenance périodique pour assurer la cohérence entre tous les nœuds. Pour effectuer cette maintenance, utilisez la commande suivante:
apigee-service apigee-cassandra apigee_repair -pr
Apigee recommande les éléments suivants lorsque vous exécutez cette commande:
- Exécuter sur chaque nœud Cassandra (dans toutes les régions ou tous les centres de données)
Exécutez-le sur un seul nœud à la fois pour assurer la cohérence entre tous les nœuds de l'anneau. Exécuter des tâches de réparation sur plusieurs nœuds en même temps peut nuire à l'état de Cassandra.
Pour vérifier si une tâche de réparation sur un nœud a bien été effectuée, recherchez dans le fichier
system.log
du nœud une entrée contenant l'UUID de la dernière session de réparation et la phrase "session completed successfully" (Session terminée). Voici un exemple d'entrée de journal:INFO [AntiEntropySessions:1] 2015-03-01 10:02:56,245 RepairSession.java (line 282) [repair #2e7009b0-c03d-11e4-9012-99a64119c9d8] session completed successfully" Ref: https://support.datastax.com/hc/en-us/articles/204226329-How-to-check-if-a-scheduled-nodetool-repair-ran-successfully
- Exécutez-le pendant les périodes de charge de travail relativement faible (l'outil impose une charge importante au système).
- Exécutez-le au moins tous les sept jours pour éliminer les problèmes liés aux "suppressions oubliées" de Cassandra.
- Exécutez-le sur différents nœuds à différents jours ou planifiez-le de sorte qu'il s'exécute sur chaque nœud plusieurs heures après l'exécution précédente.
- Utilisez l'option
-pr
(plage de partitionnement) pour spécifier uniquement la plage de partitionnement principale du nœud.
Si vous avez activé l'authentification JMX pour Cassandra, vous devez inclure le nom d'utilisateur et le mot de passe lorsque vous appelez nodetool
. Exemple :
apigee-service apigee-cassandra apigee_repair -u username -pw password -pr
Vous pouvez également exécuter la commande suivante pour vérifier les options compatibles de apigee_repair:
:
apigee-service apigee-cassandra apigee_repair -h
Remarque:apigee_repair
est un wrapper autour de la réparation nodetool de Cassandra, qui effectue des vérifications supplémentaires avant d'effectuer la réparation de Cassandra.
Pour en savoir plus, consultez les ressources suivantes :
Entretien des fichiers journaux
Les journaux Cassandra sont stockés dans le répertoire /opt/apigee/var/log/apigee-cassandra
de chaque nœud. Par défaut, vous pouvez créer jusqu'à 50 fichiers journaux, chacun d'une taille maximale de 20 Mo. Une fois cette limite atteinte, les journaux plus anciens sont supprimés lorsque des journaux plus récents sont créés.
Si vous constatez que les fichiers journaux Cassandra occupent trop d'espace, vous pouvez modifier la quantité d'espace allouée aux fichiers journaux en modifiant les paramètres log4j.
- Modifiez
/opt/apigee/customer/application/cassandra.properties
pour définir les propriétés suivantes. Si ce fichier n'existe pas, créez-le:conf_logback_maxfilesize=20MB # max file size conf_logback_maxbackupindex=50 # max open files
- Redémarrez Cassandra à l'aide de la commande suivante:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
Gestion de l'espace disque
Vous devez surveiller régulièrement l'utilisation du disque Cassandra pour vous assurer qu'au moins 50 % de chaque disque est libre. Si l'utilisation du disque dépasse 50 %, nous vous recommandons d'ajouter de l'espace disque pour réduire le pourcentage utilisé.
Cassandra effectue automatiquement les opérations suivantes pour réduire son utilisation de disque:
- Suppression des jetons d'authentification lorsqu'ils expirent. Toutefois, selon votre configuration, il peut s'écouler plusieurs semaines avant que l'espace disque utilisé par les jetons ne soit libéré. Si la suppression automatique n'est pas suffisante pour maintenir un espace disque suffisant, contactez l'assistance pour découvrir comment supprimer manuellement des jetons afin de récupérer de l'espace.
Remarque concernant le compactage des données: à partir de la version 4.51.00 d'Edge for Private Cloud, les nouvelles installations d'Apigee Cassandra créeront des espaces de clés avec la stratégie de compactage par niveau.
Les installations d'anciennes versions d'Edge pour Private Cloud qui ont été migrées vers Private Cloud 4.51.00 conserveront la stratégie de compaction précédente. Si la stratégie de compaction existante est SizeTieredCompactionStrategy, nous vous recommandons de passer à LeveledCompactionStrategy, qui offre une meilleure utilisation du disque.
Remarque:Lorsque Cassandra effectue des compactions de données, cela peut nécessiter une quantité considérable de cycles de processeur et de mémoire. Toutefois, l'utilisation des ressources devrait revenir à la normale une fois les compactions terminées.
Vous pouvez exécuter la commande 'Nodetool compactionstats'
sur chaque nœud pour vérifier si la compaction est en cours d'exécution. La sortie de compactionstats
vous indique si des compactions en attente doivent être exécutées et le délai estimé pour leur finalisation.