Attività di manutenzione di Apache Cassandra

Questa sezione descrive le attività di manutenzione periodica di Cassandra.

Manutenzione antientropia

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

apigee-service apigee-cassandra apigee_repair -pr

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

  • Esegui su ogni nodo Cassandra (in tutte le regioni o tutti i data center).
  • Esegui su un nodo alla volta, per garantire la coerenza tra tutti i nodi dell'anello. L'esecuzione di job di riparazione su più nodi contemporaneamente può compromettere l'integrità di Cassandra.

    Per verificare se un job di riparazione su un nodo è stato completato correttamente, cerca nel file system.log dei nodi una voce con l'UUID dell'ultima sessione di riparazione e la frase "sessione completata correttamente". Di seguito è riportata una voce di log di esempio:

    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
  • Eseguilo durante periodi di carico di lavoro relativamente ridotto (lo strumento impone un carico significativo al sistema).
  • Esegui almeno ogni sette giorni per eliminare i problemi relativi alle "eliminazioni dimenticate" di Cassandra.
  • Esegui l'esecuzione su nodi diversi in giorni diversi o pianificala in modo che trascorri diverse ore tra l'esecuzione su ciascun nodo.
  • Utilizza l'opzione -pr (intervallo del partizionatore) per specificare solo 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 il comando seguente per controllare le opzioni supportate di apigee_repair:

apigee-service apigee-cassandra apigee_repair -h

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

Per maggiori informazioni, consulta le seguenti risorse:

Manutenzione del file di log

I log Cassandra sono archiviati nella directory /opt/apigee/var/log/cassandra su ciascun nodo. Per impostazione predefinita, è possibile creare un massimo di 50 file di log, ciascuno con una dimensione massima di 20 MB. Una volta raggiunto questo limite, i log meno recenti vengono eliminati quando vengono creati quelli più recenti.

Se scopri che i file di log di Cassandra occupano troppo spazio, puoi modificare la quantità di spazio allocata per i file di log modificando le impostazioni di 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 seguente comando:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart

Manutenzione dello spazio su disco

Dovresti monitorare regolarmente l'utilizzo del disco Cassandra per assicurarti che almeno il 50% di ciascun disco sia libero. Se l'utilizzo del disco supera il 50%, ti consigliamo di aggiungere altro spazio su disco per ridurre la percentuale di utilizzo.

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

  • Eliminazione del token di autenticazione alla scadenza dei token. Tuttavia, a seconda della configurazione, potrebbero essere necessarie un paio di settimane per liberare spazio su disco utilizzato dai token. Se l'eliminazione automatica non è adeguata per mantenere sufficiente spazio su disco, contatta l'assistenza per avere informazioni sull'eliminazione manuale dei token per recuperare spazio.
  • Compattazione dei dati. Ti consigliamo di passare a LeveledCompactionStrategy la strategia di compattazione negli spazi delle chiavi, che offre strategie di utilizzo del disco migliori rispetto al valore SizeTieredCompactionStrategy predefinito. Consulta la pagina Strategia di compattazione livellata.

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