Tâches de maintenance Apache Cassandra

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 garantir 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 points suivants lors de l'exécution de cette commande :

  • Exécutez-la sur chaque nœud Cassandra (dans toutes les régions ou tous les centres de données).
  • Exécutez-la sur un nœud à la fois pour garantir la cohérence entre tous les nœuds de l'anneau. L'exécution simultanée de tâches de réparation sur plusieurs nœuds 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 l'expression "session completed successfully." 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-la pendant les périodes de charge de travail relativement faible (l'outil impose une charge importante au système).
  • Exécutez-la au moins tous les sept jours afin d'éliminer les problèmes liés aux "suppressions oubliées" de Cassandra.
  • Exécutez-la sur différents nœuds à différents jours ou planifiez-la de sorte qu'il y ait plusieurs heures entre son exécution sur chaque nœud.
  • Utilisez l'option -pr (plage de partitionneur) pour spécifier uniquement la plage de partitionneur principal 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 :

Maintenance 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 anciens journaux sont supprimés lorsque de nouveaux journaux 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.

  1. 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
  2. Redémarrez Cassandra à l'aide de la commande suivante :
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart

Maintenance 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 sa propre utilisation du disque :

  • Suppression des jetons d'authentification lorsqu'ils expirent. Toutefois, il peut s'écouler quelques semaines avant que l'espace disque utilisé par les jetons ne soit libéré, en fonction de votre configuration. Si la suppression automatique ne suffit pas à maintenir un espace disque suffisant, contactez l'assistance pour savoir comment supprimer manuellement les jetons afin de récupérer de l'espace.
  • Compression des données : à partir d'Edge for Private Cloud 4.51.00, les nouvelles installations d'Apigee Cassandra créent des espaces clés avec la stratégie de compression par niveaux.

    Les installations de versions antérieures d'Edge for Private Cloud qui ont été mises à niveau vers Edge for Private Cloud 4.54.00 conservent la stratégie de compression précédente. Si la stratégie de compression existante est SizeTieredCompactionStrategy, Apigee recommande de passer à LeveledCompactionStrategy, qui offre une meilleure utilisation du disque. Pour obtenir des instructions, consultez Modifier la stratégie de compression Cassandra.

Remarque : Lorsque Cassandra effectue des compressions de données, cela peut prendre un nombre considérable de cycles de processeur et de mémoire. Toutefois, l'utilisation des ressources devrait revenir à la normale une fois les compressions terminées. Vous pouvez exécuter la commande 'Nodetool compactionstats' sur chaque nœud pour vérifier si la compression est en cours d'exécution. La sortie de compactionstats vous indique si des compressions sont en attente d'exécution et le délai d'exécution estimé.