Attività di manutenzione di Apache Cassandra

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

Manutenzione anti-entropia

I nodi dell'anello Apache Cassandra richiedono una manutenzione periodica per garantire la coerenza tra tutti gli nodi. Per eseguire questa manutenzione, utilizza il seguente comando:

apigee-service apigee-cassandra apigee_repair -pr

Apigee consiglia di eseguire le seguenti operazioni quando esegui questo comando:

  • Esegui su ogni nodo Cassandra (in tutte le regioni o in 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 della sessione di riparazione più recente e la frase "session completed successfully." Ecco 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
  • Esegui durante i periodi di workload relativamente basso (lo strumento impone un carico significativo sul sistema).
  • Esegui almeno ogni sette giorni per eliminare i problemi relativi alle "eliminazioni dimenticate" di Cassandra.
  • Esegui su nodi diversi in giorni diversi o pianificalo in modo che ci siano diverse ore tra l'esecuzione su ogni nodo.
  • Utilizza l'opzione -pr (intervallo partizionatore) per specificare solo l'intervallo del partizionatore primario del nodo.

Se hai abilitato 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 seguente comando per controllare le opzioni supportate di apigee_repair:

apigee-service apigee-cassandra apigee_repair -h

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

Per maggiori informazioni, consulta le seguenti risorse:

Manutenzione dei file di log

I log di Cassandra vengono archiviati nella directory /opt/apigee/var/log/apigee-cassandra su ogni 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 precedenti vengono eliminati quando vengono creati log più recenti.

Se i file di log di Cassandra occupano uno spazio eccessivo, puoi modificare la quantità di spazio allocato 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 di Cassandra per assicurarti che almeno il 50% di ogni disco sia libero. Se l'utilizzo del disco supera il 50%, ti consigliamo di aggiungere altro spazio su disco per ridurre la percentuale di spazio in uso.

Cassandra esegue automaticamente le seguenti operazioni per ridurre l'utilizzo del disco:

  • Eliminazione dei token di autenticazione alla scadenza. Tuttavia, a seconda della configurazione, potrebbe essere necessario un paio di settimane per liberare lo spazio su disco utilizzato dai token. Se l'eliminazione automatica non è sufficiente per mantenere uno spazio su disco sufficiente, contatta l'assistenza per scoprire come eliminare manualmente i token per recuperare spazio.
  • Compattazione dei dati: a partire da Edge for Private Cloud 4.51.00, le nuove installazioni di Apigee Cassandra creano keyspace con la strategia di compattazione a livelli.

    Le installazioni delle versioni precedenti di Edge for Private Cloud che sono state sottoposte ad upgrade a Edge for Private Cloud 4.54.00 mantengono la strategia di compattazione precedente. Se la strategia di compattazione esistente è SizeTieredCompactionStrategy, Apigee consiglia di passare a LeveledCompactionStrategy, che offre un migliore utilizzo del disco. Per istruzioni, vedi Modificare la strategia di compattazione di Cassandra.

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à al termine delle compattazioni. Puoi eseguire il comando 'Nodetool compactionstats' su ogni nodo per verificare se la compattazione è in esecuzione. L'output di compactionstats ti informa se sono presenti compattazioni in attesa di esecuzione e il tempo stimato per il completamento.