Perché l'aggiornamento del mio dominio di OpenSearch Service richiede così tanto tempo?

6 minuti di lettura
0

Sto cercando di aggiornare il mio dominio di Amazon OpenSearch Service, ma l'aggiornamento richiede molto tempo.

Breve descrizione

Quando si aggiorna la versione del dominio OpenSearch Service, vengono apportate modifiche alla configurazione che attivano un processo di distribuzione blu/verde. In una distribuzione blu/verde, vengono eseguiti due ambienti di produzione. Un ambiente è attivo e l'altro è inattivo. I due ambienti di produzione vengono quindi commutati in base agli aggiornamenti software. Per OpenSearch Service, viene creato un nuovo ambiente durante gli aggiornamenti del dominio e gli utenti vengono indirizzati al nuovo ambiente di produzione dopo il completamento degli aggiornamenti. Questo comportamento riduce al minimo i tempi di inattività e mantiene l'ambiente originale nel caso in cui l'implementazione non vada a buon fine.

Il processo di aggiornamento di OpenSearch Service consiste in controlli preliminari all'aggiornamento per verificare la presenza di eventuali problemi e in un’istantanea del cluster per ripristinare il cluster se l'aggiornamento fallisce.

Con un aggiornamento di OpenSearch Service potrebbero verificarsi i seguenti problemi:

  • Errori nei controlli prima dell'aggiornamento
  • Il completamento del processo di aggiornamento richiede troppo tempo
  • Aggiornamento riuscito con problemi

Per ulteriori informazioni, consulta Aggiornamento dei domini di Amazon OpenSearch Service.

Risoluzione

Controlli prima dell'aggiornamento

Il processo di aggiornamento è irreversibile. Non puoi sospenderlo o annullarlo. Durante un aggiornamento, non puoi apportare modifiche alla configurazione del dominio. Prima di iniziare un aggiornamento, è buona norma verificare l'idoneità. Il tuo dominio potrebbe non essere idoneo all'aggiornamento o non essere aggiornato.

Per verificare i problemi di aggiornamento più comuni, consulta Risoluzione dei problemi relativi agli aggiornamenti.

Controlla lo stato dell'istantanea

Prima di una migrazione, OpenSearch Service scatta un'istantanea automatica del cluster quando supera il test di idoneità. Durante un'istantanea, lo stato di avanzamento potrebbe essere Null o 0%. Dopo che OpenSearch Service ha scattato l'istantanea, il valore percentuale viene aggiornato. Il tempo necessario per completare un'istantanea può variare a seconda dello spazio di archiviazione. OpenSearch Service acquisisce istantanee in modo incrementale. Se ci sono modifiche significative nei dati rispetto alla precedente istantanea automatica, il completamento dell'istantanea può richiedere più tempo.

La seguente richiesta _snapshot recupera tutte le istantanee attualmente in esecuzione, con informazioni dettagliate sullo stato:

GET /_snapshot/_status

Per ulteriori informazioni sulle API delle istantanee, consulta Monitorare un'istantanea sul sito Web di Elasticsearch.

Recupera tutte le istantanee del cluster e gli ID dei nodi

Per recuperare tutte le istantanee attualmente in esecuzione nel cluster, utilizza il parametro corrente:

GET /_snapshot/<snapshot-repository>/_current

Per ottenere gli ID di tutti i nodi di dati, esegui l'API cat nodes:

GET _cat/nodes

È possibile utilizzare gli ID dei nodi per identificare i nodi vecchi o nuovi. Un numero crescente di shard sui nuovi nodi indica una migrazione senza intoppi. Alla fine, tutti gli shard si spostano nei nuovi nodi e i vecchi nodi si svuotano.

Monitora il processo di implementazione blu/verde

Quando il cluster entra nel processo di distribuzione blu/verde, vengono visualizzati i nuovi nodi nell'ambiente verde. Gli shard vengono quindi migrati dai vecchi nodi nell'ambiente blu. Una volta completata la migrazione dei dati o la riallocazione degli shard, i vecchi nodi vengono terminati.

È possibile monitorare il processo di implementazione blu/verde nelle sue tre fasi: nuovi nodi, migrazione dei dati e rimozione dei vecchi nodi.

Fase 1: Creazione di nuovi nodi

Puoi monitorare la metrica del cluster di nodi in Amazon CloudWatch per ottenere il numero di nodi. In alternativa, puoi utilizzare l'API cat nodes per elencare tutti i nodi del tuo cluster:

GET /_cat/nodes?v&pretty

Durante questa fase del processo di distribuzione blu/verde, puoi visualizzare i nuovi nodi dall'output dell'API man mano che il numero di nodi aumenta.

Fase 2: Migrazione dei dati

Non appena la prima fase è completata, inizia la migrazione degli shard. Durante la migrazione dei dati, il numero di shard dei nodi più vecchi diminuisce e quello dei nodi più recenti aumenta. Puoi usare l'API cat/allocation (dal sito Web di OpenSearch) per ottenere quanti shard sono allocati a ciascun nodo:

GET /_cat/allocation

Per ottenere gli stati degli shard, Avviato, In trasferimento o Non assegnato, esegui la seguente API:

GET _cat/shards?h=index,shard,prirep,state,relocating.reason

Per verificare lo stato di ripristino (dal sito Web Elasticsearch) degli shard nel cluster, esegui la seguente API:

GET _cat/recovery?active_only=true

In questa fase, la migrazione dei dati potrebbe richiedere più tempo per essere completata a causa di un cluster sovraccarico, di shard sbilanciati o di problemi del backend.

Cluster in sovraccarico

Assicurati di aggiornare la versione quando il traffico del cluster non è elevato. Prima di iniziare l'aggiornamento, controlla le metriche del cluster CPUUtilization e JVMMemoryPressure per assicurarti che abbiano valori ottimali.

Per ulteriori informazioni, consulta Come posso risolvere l'elevata pressione della memoria JVM sul mio cluster di Amazon OpenSearch Service?

Shard sbilanciati

Per impostazione predefinita, OpenSearch Service ha una strategia di partizionamento 5:1, in cui ogni indice è diviso in cinque shard primari. Imposta la dimensione della tua strategia di partizionamento in modo che ciascuno shard sia compreso tra 10-30 GiB per i carichi di lavoro di ricerca o 30-50 GiB per i carichi di lavoro di log.

OpenSearch ed Elasticsearch 7.x e versioni successive hanno un limite di 1.000 shard per nodo. È consigliabile non avere più di 25 shard per GiB di heap Java.

Per maggiori informazioni, consulta Come riequilibrare la distribuzione non uniforme degli shard nel mio cluster di Amazon OpenSearch Service?

Problemi di backend

Durante questa fase, la migrazione degli shard può bloccarsi a causa di problemi del backend. Se non ci sono progressi nella migrazione e il problema non si risolve automaticamente, contatta AWS Support.

Fase 3: Rimozione dei vecchi nodi

Dopo che è stata eseguita la migrazione di tutti gli shard sui nuovi nodi, i nodi più vecchi vengono rimossi dal cluster. Il conteggio dei nodi torna quindi al numero di nodi originale configurato. In questa fase, i processi di distribuzione e aggiornamento blu/verde sono completi.

Aggiornamento riuscito con problemi

Il messaggio "aggiornamento riuscito con problemi" si verifica quando il cluster blocca le richieste di scrittura in entrata. Controlla la metrica ClusterIndexWritesBlocked di OpenSearch Service. Il valore uno indica che il cluster sta bloccando le richieste di scrittura. Per risolvere questo problema, aggiungi altro spazio su disco o ridimensiona il tuo cluster.

Per maggiori informazioni, consulta Migliori pratiche operative per Amazon OpenSearch Service.

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa