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 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 actions suivantes lors de l'exécution de cette commande :

  • Exécutez cette commande sur chaque nœud Cassandra (dans toutes les régions ou tous les centres de données).
  • Pour vérifier si une tâche de réparation sur un nœud s'est terminée correctement, 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" (session terminée correctement). 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 l'outil 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 afin d'éliminer les problèmes liés aux "suppressions oubliées" de Cassandra.
  • Exécutez-le sur différents nœuds à des jours différents, ou planifiez-le de manière à ce qu'il s'écoule plusieurs heures entre l'exécution sur chaque nœud.
  • 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 :

Maintenance des fichiers journaux

Les journaux Cassandra sont stockés dans le répertoire /opt/apigee/var/log/cassandra de chaque nœud. Par défaut, vous pouvez créer jusqu'à 50 fichiers journaux, d'une taille maximale de 20 Mo chacun. 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 l'espace alloué 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, selon votre configuration, il peut s'écouler quelques semaines avant que l'espace disque utilisé par les jetons ne soit libéré. Si la suppression automatique ne suffit pas à maintenir un espace disque suffisant, contactez l'assistance pour savoir comment supprimer manuellement des jetons afin de récupérer de l'espace.
  • Remarque sur le compactage des données : à partir d'Edge for Private Cloud 4.51.00, 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 for Private Cloud qui ont été mises à niveau vers Private Cloud 4.51.00 continueront de conserver la stratégie de compactage précédente. Si la stratégie de compactage 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 consommer 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 le compactage est en cours d'exécution. Le résultat de compactionstats vous indique s'il existe des compactages en attente d'exécution et le temps estimé pour l'exécution.