Attività di manutenzione di Apache Cassandra

Questa sezione descrive le attività di manutenzione periodiche per Cassandra.

Manutenzione anti-entropia

I nodi ring di Apache Cassandra richiedono manutenzione periodica per garantire coerenza tra tutti nodi. Per eseguire questa manutenzione, utilizza il comando seguente:

apigee-service apigee-cassandra apigee_repair -pr

Apigee consiglia quanto segue per l'esecuzione di questo comando:

  • Esegui su ogni nodo Cassandra (in tutte le regioni o in tutti i data center).
  • Eseguilo su un nodo alla volta, per garantire coerenza in tutti i nodi del ring. L'esecuzione simultanea di job di riparazione su più nodi può compromettere la salute di Cassandra.

    Per controllare se un job di riparazione su un nodo è stato completato correttamente, cerca system.log file per una voce con l'UUID della sessione di riparazione più recente e la frase "sessione completata correttamente". Ecco un esempio di voce di log:

    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
  • Eseguire periodi di carico di lavoro relativamente ridotto (lo strumento impone un carico significativo di sistema).
  • Eseguila almeno ogni sette giorni per eliminare i problemi relativi a "eliminazioni dimenticate".
  • eseguirlo su nodi diversi in giorni diversi o pianificarlo in modo che ci siano tra l'esecuzione su ciascun nodo e l'altra.
  • Utilizza l'opzione -pr (intervallo del partizionatore) per specificare l'intervallo del partizionatore principale del nodo.

Se hai attivato l'autenticazione JMX per Cassandra, devi includere il nome utente e la password quando richiami nodetool. Ad esempio:

apigee-service apigee-cassandra apigee_repair -u username -pw password -pr

Puoi anche eseguire questo comando per verificare le opzioni supportate di apigee_repair:

apigee-service apigee-cassandra apigee_repair -h

Nota: apigee_repair è un wrapper per la riparazione del nodetool di Cassandra, che esegue controlli aggiuntivi prima di eseguire la riparazione di Cassandra.

Per maggiori informazioni, consulta le seguenti risorse:

di Gemini Advanced.

Manutenzione dei file di log

I log di Cassandra sono archiviati nella directory /opt/apigee/var/log/cassandra su ogni nodo. Per impostazione predefinita, è possibile aggiungere al massimo 50 file di log, ciascuno con una dimensione massima di 20 MB, create; al raggiungimento di questo limite, i log meno recenti vengono eliminati insieme alla creazione di log più recenti.

Se rilevi che i file di log di Cassandra occupano spazio eccessivo, puoi modificare il quantità di spazio allocato per i file di log modificando le impostazioni log4j.

  1. Modifica /opt/apigee/customer/application/cassandra.properties per impostare le seguenti proprietà. Se il file non esiste, crealo:
    conf_logback_maxfilesize=20MB
    # max file size
    conf_logback_maxbackupindex=50 # max open files
  2. Riavvia Cassandra utilizzando il comando seguente:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart

Manutenzione dello spazio su disco

Devi monitorare regolarmente l'utilizzo del disco Cassandra per garantire che almeno il 50% ogni disco è libero. Se l'utilizzo del disco supera il 50%, ti consigliamo di aggiungi altro spazio su disco per ridurre la percentuale di spazio in uso.

Cassandra esegue automaticamente le operazioni seguenti per ridurre il proprio utilizzo del disco:

  • Eliminazione del token di autenticazione alla scadenza dei token. Tuttavia, occorrono un paio di settimane per liberare lo spazio su disco utilizzato dai token, a seconda configurazione. Se l'eliminazione automatica non è adeguata per la manutenzione sufficiente, contatta l'assistenza per informazioni sull'eliminazione manuale dei token da ripristinare spazio.
  • Compattazione dei dati. Consigliamo di cambiare la strategia di compattazione negli spazi dei tasti in LeveledCompactionStrategy, che offre strategie di utilizzo del disco migliori rispetto a quelle predefinite SizeTieredCompactionStrategy. Consulta strategia di compattazione a livello.

Nota: quando Cassandra esegue la compattazione dei dati, può richiedere una quantità considerevole di cicli di CPU e memoria. Tuttavia, l'utilizzo delle risorse dovrebbe tornare alla normalità una volta completate le compattazioni. Puoi eseguire il comando 'Nodetool compactionstats' su ciascun nodo per controllare se la compattazione è in esecuzione. L'output di compactionstats ti informa se sono in attesa di compattazione da eseguire e il tempo stimato per il completamento.