Elasticsearch - Migrazione tra le versioni
In qualsiasi sistema o software, quando si esegue l'aggiornamento a una versione più recente, è necessario seguire alcuni passaggi per mantenere le impostazioni dell'applicazione, le configurazioni, i dati e altre cose. Questi passaggi sono necessari per rendere l'applicazione stabile nel nuovo sistema o per mantenere l'integrità dei dati (impedire che i dati vengano danneggiati).
Devi seguire i seguenti passaggi per aggiornare Elasticsearch:
Leggi i documenti di aggiornamento da https://www.elastic.co/
Prova la versione aggiornata nei tuoi ambienti non di produzione come in ambiente UAT, E2E, SIT o DEV.
Tieni presente che il rollback alla versione precedente di Elasticsearch non è possibile senza il backup dei dati. Pertanto, si consiglia un backup dei dati prima di eseguire l'aggiornamento a una versione successiva.
Possiamo eseguire l'aggiornamento utilizzando il riavvio completo del cluster o l'aggiornamento continuo. L'aggiornamento in sequenza è per le nuove versioni. Tieni presente che non si verifica alcuna interruzione del servizio quando utilizzi il metodo di aggiornamento in sequenza per la migrazione.
Passaggi per l'aggiornamento
Testare l'aggiornamento in un ambiente di sviluppo prima di aggiornare il cluster di produzione.
Esegui il backup dei dati. Non è possibile ripristinare una versione precedente a meno che non si disponga di un'istantanea dei dati.
Considera l'idea di chiudere i processi di machine learning prima di avviare il processo di aggiornamento. Sebbene i processi di machine learning possano continuare a essere eseguiti durante un aggiornamento in sequenza, aumenta il sovraccarico del cluster durante il processo di aggiornamento.
Aggiorna i componenti del tuo Elastic Stack nel seguente ordine:
- Elasticsearch
- Kibana
- Logstash
- Beats
- APM Server
Aggiornamento da 6.6 o versioni precedenti
Per eseguire l'aggiornamento direttamente a Elasticsearch 7.1.0 dalle versioni 6.0-6.6, è necessario reindicizzare manualmente tutti gli indici 5.x che è necessario portare avanti ed eseguire un riavvio completo del cluster.
Riavvio completo del cluster
Il processo di riavvio completo del cluster comporta l'arresto di ogni nodo nel cluster, l'aggiornamento di ogni nodo a 7x e quindi il riavvio del cluster.
Di seguito sono riportati i passaggi di alto livello che devono essere eseguiti per il riavvio completo del cluster:
- Disabilita l'allocazione dei frammenti
- Interrompi l'indicizzazione ed esegui un flush sincronizzato
- Chiudi tutti i nodi
- Aggiorna tutti i nodi
- Aggiorna tutti i plugin
- Avvia ogni nodo aggiornato
- Attendi che tutti i nodi si uniscano al cluster e segnalino uno stato di giallo
- Riattiva l'allocazione
Una volta riattivata l'allocazione, il cluster inizia ad allocare i frammenti di replica ai nodi di dati. A questo punto, è possibile riprendere l'indicizzazione e la ricerca, ma il tuo cluster si ripristinerà più rapidamente se puoi attendere che tutti i frammenti primari e di replica siano stati allocati correttamente e lo stato di tutti i nodi sia verde.