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.
- 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
- 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 valoreSizeTieredCompactionStrategy
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.