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 i nodi. Per eseguire questa manutenzione, utilizza il seguente comando:

apigee-service apigee-cassandra apigee_repair -pr

Apigee consiglia quanto segue 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 system.log file dei nodi un'entrata con l'UUID dell'ultima sessione di riparazione e la frase "sessione completata correttamente". 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
  • Eseguilo durante periodi di carico di lavoro 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.
  • Eseguilo su nodi diversi in giorni diversi o pianificalo in modo che trascorrano diverse ore tra un'esecuzione e l'altra su ciascun nodo.
  • Utilizza l'opzione -pr (intervallo del partizionatore) per specificare solo l'intervallo del partizionatore principale 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 per la 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 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 più vecchi vengono eliminati quando vengono creati quelli più recenti.

Se i file di log di Cassandra occupano uno spazio eccessivo, 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, creane uno:
    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

Devi monitorare regolarmente l'utilizzo del disco Cassandra per assicurarti che almeno il 50 percento 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 in uso.

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

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

    Le installazioni di versioni precedenti di Edge per Private Cloud di cui è stato eseguito l'upgrade a Private Cloud 4.51.00 continueranno a mantenere la strategia di compattazione precedente. Se la strategia di compattazione esistente è SizeTieredCompactionStrategy, ti consigliamo di passare a LeveledCompactionStrategy, che offre un migliore utilizzo del disco.

Nota:quando Cassandra esegue la compattazione dei dati, può richiedere una quantità considerevole di cicli 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 esistono compaction in attesa di esecuzione e il tempo stimato per il completamento.