Tâches de maintenance Apache Cassandra

Cette section décrit les tâches de maintenance périodiques de Cassandra.

Maintien de l'anti-entropie

Les nœuds d'anneau Apache Cassandra nécessitent une maintenance périodique pour assurer la cohérence entre tous les nœuds. Pour effectuer cette maintenance, exécutez la commande suivante:

apigee-service apigee-cassandra apigee_repair -pr

Apigee recommande les mesures suivantes lors de l'exécution de cette commande:

  • Exécuter l'application sur chaque nœud Cassandra (dans toutes les régions ou centres de données)
  • Exécution sur un nœud à la fois pour assurer la cohérence entre tous les nœuds de l'anneau L'exécution de tâches de réparation sur plusieurs nœuds à la fois peut nuire à l'état de Cassandra.

    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 des nœuds une entrée contenant l'UUID de la dernière session de réparation et le message "session completed successfully" (la session a bien été exécuté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écution pendant les périodes de charge de travail relativement faible (l'outil impose une charge importante sur le système).
  • Exécutez le test 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 sorte qu'il y ait plusieurs heures entre son exécution sur chaque nœud.
  • Utilisez l'option -pr (plage de partitionnement) pour spécifier uniquement la plage de partitionnement 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 pour la réparation du Nodetool de Cassandra, qui effectue des vérifications supplémentaires avant de procéder à 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 sur chaque nœud. Par défaut, vous pouvez créer 50 fichiers journaux au maximum, 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 qui leur est allouée 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 disponible. Si l'utilisation du disque dépasse 50 %, nous vous recommandons d'ajouter davantage d'espace disque afin de réduire le pourcentage utilisé.

Cassandra effectue automatiquement les opérations suivantes pour réduire sa propre utilisation du disque:

  • Suppression du jeton d'authentification en cas d'expiration des jetons Toutefois, selon votre configuration, plusieurs semaines peuvent être nécessaires pour libérer l'espace disque utilisé par les jetons. 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.
  • Compactage des données Nous vous recommandons de remplacer la stratégie de compactage sur les espaces de clés par LeveledCompactionStrategy, ce qui offre de meilleures stratégies d'utilisation du disque que la stratégie SizeTieredCompactionStrategy par défaut. Consultez la section Stratégie de compactage par niveau.

Remarque:Lorsque Cassandra effectue le compactage de données, une quantité considérable de cycles de processeur et de mémoire peut être nécessaire. Toutefois, l'utilisation des ressources devrait revenir à la normale une fois le compactage terminé. 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 informe s'il y a des compactages en attente d'exécution et vous informe de la durée estimée de l'exécution.