Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 14418|Risposta: 2

Salute del cluster Elasticsearch(ES): analisi di guasto rosso

[Copiato link]
Pubblicato il 27-1-2021 23:08:07 | | | |
Usando il pannello elasticsearch-head per collegarmi a Elasticsearch(ES) ho trovato il seguente errore:

Salute del Cluster: rosso (24 su 31)


Per visualizzare le informazioni sullo stato, visita:Il login del link ipertestuale è visibile.

{
  "cluster_name" : "elasticsearch",
  "stato" : "rosso",
  "timed_out" : falso,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 24,
  "active_shards" : 24,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 7,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 77.41935483870968
}
"Stato" : "Rosso"Lo stato è Vuoto

Il plugin della testa sarà visualizzato in colori diversi

1) Verde - lo stato più sano, il che significa che tutti i frammenti primari e replica sono disponibili;
2) Giallo - tutti i frammenti primari sono disponibili, ma alcuni frammenti replica non sono disponibili;
3) Rosso - Alcuni frammenti primari non sono disponibili. (Al momento, alcuni dati possono ancora essere trovati durante l'esecuzione della query, quindi è meglio risolverlo rapidamente.) )


Per visualizzare lo stato dell'indice, accedi a:Il login del link ipertestuale è visibile.

.monitoring-es-6-2021.01.22 0 p NON ASSEGNATO ALLOCATION_FAILED
Cos'è lo sharding non assegnato?

Spiegazione in una frase: frammenti non allocati.
All'avvio di ES, noterai che i frammenti del cluster appariranno viola, grigio e infine verde dopo aver aggiornato costantemente tramite il plug-in della testa.


Perché avviene lo sharding non assegnato?

Se non puoi allocare gli shard, ad esempio, se hai sovraallocato il numero di replica shard per il numero di nodi nel cluster, gli shard rimangono NON ASSEGNATI.
Il codice di errore è: ALLOCATION_FAILED.


Possibili cause di problemi di sharding non assegnati?

1) INDEX_CREATED: Non allocato a causa dell'API che ha creato l'indice.
2) CLUSTER_RECOVERED: Non allocata a causa del recupero completo del cluster.
3) INDEX_REOPENED: Non allocato a causa dell'apertura o chiusura di un indice.
4) DANGLING_INDEX_IMPORTED: Non assegnato a causa dell'importazione dell'indice pendente.
5) NEW_INDEX_RESTORED: Non allocato a causa del ritorno a un nuovo indice.
6) EXISTING_INDEX_RESTORED: Non allocato a causa del ritorno a un indice chiuso.
7) REPLICA_ADDED: Non allocato a causa dell'aggiunta esplicita di replica shard.
8) ALLOCATION_FAILED: Non assegnato a causa di un errore di allocazione degli shard.
9) NODE_LEFT: Il nodo che trasporta lo shard lascia il cluster e non viene allocato.
10) REINIZIALIZZATO: A causa di shard non allocati durante il passaggio dall'inizio all'inizializzazione (ad esempio sharding con copie shadow shadow).
11) REROUTE_CANCELLED: Deallocate come risultato di un comando esplicito di risalta.
12) REALLOCATED_REPLICA: Determinare che una posizione replica migliore sia calibrata per l'uso, con conseguente annullamento dell'allocazione e disallocazione delle copie esistenti.


Accedi al server e visualizza i log di Elasticsearch (ES) come segue:

Elasticsearch genera molti log, tutti nella cartella ES_HOME/logs. Il livello di logging predefinito è INFO. Fornisce informazioni moderate, ma è progettato per non sovraccaricare i tuoi log.
Il login del link ipertestuale è visibile.



Ci sono un gran numero di errori come:

[2021-01-21T03:33:26,435] [AVVISO] [o.e.x.m.e.l.LocalExporter] [A_OefhJ] errore inaspettato durante l'indicizzazione del documento di monitoraggio
org.elasticsearch.xpack.monitoring.exporter.ExportException: ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];]
        su org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$throwExportException$2(LocalBulk.java:128) ~[?:?]
        at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_222]
        at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_222]
        at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) ~[?:1.8.0_222]
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[?:1.8.0_222]
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) ~[?:1.8.0_222]
        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:1.8.0_222]
        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:1.8.0_222]
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_222]
        at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485) ~[?:1.8.0_222]
        su org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.throwExportException(LocalBulk.java:129) ~[?:?]
        su org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$doFlush$0(LocalBulk.java:111) ~[?:?]
        su org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.action.support.ContextPreservingActionListener.onResponse(ContextPreservingActionListener.java:43) ~[elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:85) ~[elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.action.bulk.TransportBulkAction$BulkRequestModifier.lambda$wrapActionActionListenerIfNeeded$0(TransportBulkAction.java:607) ~[elasticsearch-6.5.2.jar :6.5.2]
        su org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.finishHim(TransportBulkAction.java:414) ~[elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.onFailure(TransportBulkAction.java:409) ~[elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.action.support.TransportAction$1.onFailure(TransportAction.java:91) ~[elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.finishAsFailed(TransportReplicationAction.java:901) ~[elasticsearch-6.5.2.jar :6.5.2]
        su org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockException(TransportReplicationAction.java:824) ~[ elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockExceptions(TransportReplicationAction.java:812) ~[ elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.doRun(TransportReplicationAction.java:710) ~[elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.action.support.replication.TransportReplicationAction.doExecute(TransportReplicationAction.java:169) ~[elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.action.support.replication.TransportReplicationAction.doExecute(TransportReplicationAction.java:97) ~[elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:167) ~[elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.apply(SecurityActionFilter.java:126) ~[?:?]
        su org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:165) ~[elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:139) ~[elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation.doRun(TransportBulkAction.java:384) ~[elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.action.bulk.TransportBulkAction.executeBulk(TransportBulkAction.java:496) ~[elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.action.bulk.TransportBulkAction.executeIngestAndBulk(TransportBulkAction.java:243) ~[elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.action.bulk.TransportBulkAction.doExecute(TransportBulkAction.java:169) ~[elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.action.bulk.TransportBulkAction.lambda$processBulkIndexIngestRequest$4(TransportBulkAction.java:549) ~[elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.ingest.IngestService$4.doRun(IngestService.java:417) [elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:723) [elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-6.5.2.jar:6.5.2]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]
Causato da: org.elasticsearch.cluster.block.ClusterBlockException: bloccato da: [PROIBITO/12/indice solo lettura / permette eliminazione (api)];
        su org.elasticsearch.cluster.block.ClusterBlocks.indexBlockedException(ClusterBlocks.java:183) ~[elasticsearch-6.5.2.jar:6.5.2]
        su org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockExceptions(TransportReplicationAction.java:810) ~[ elasticsearch-6.5.2.jar:6.5.2]
        ... 21 in più


Dopo l'analisi, si scoprì che era perchéLo spazio disco del server dove si trova l'ES è troppo basso, una volta che un indice con uno o più shard viene assegnato a un nodo in un disco che memorizza più del 95% dei dati, l'indice sarà forzato in modalità di sola lettura.

CentOS conta la dimensione di ogni cartella e cerca file di grandi dimensioni
https://www.itsvse.com/thread-9542-1-1.html
Visualizza tutte le informazioni sulle impostazioni dell'indice da visitare:Il login del link ipertestuale è visibile., come mostrato nella figura sottostante:



"conoscenza" : {
    "impostazioni" : {
      "indice" : {
        "number_of_shards" : "3",
        "blocchi" : {
          "read_only_allow_delete" : "vero"
        },
        "provided_name" : "conoscenza",
        "creation_date" : "1576206251443",
        "number_of_replicas" : "0",
        "uuid" : "yeSIP_otQo6JQ8ooRdr8hA",
        "versione" : {
          "creato" : "6050299"
        }
      }
    }
  }
read_only_allow_deleteQuando questo attributo è vero, l'indice ES consente solo la lettura e la cancellazione dei dati, e non consente di aggiungere o modificare dati


soluzione

Dopo aver risolto il problema del disco, espandi o elimina i file spazzatura, segui il tutorial qui sotto.

Imposta read_only_allow_delete su false

Inviare una put request usando elasticsearch-head:Il login del link ipertestuale è visibile., come mostrato nella figura sottostante:

{
"Riconosciuti": Vero
}





Questo ancora non può far cancellare lo stato di salute di Red,Elimina direttamente i dati ".monitoring-es-6-*", lo stato diventa sano, come mostrato nella figura sottostante:



(Fine)




Precedente:CentOS conta la dimensione di ogni cartella e cerca file di grandi dimensioni
Prossimo:Salute del cluster Elasticsearch(ES): stato giallo (6 su 7)
 Padrone di casa| Pubblicato il 15-06-2021 11:22:58 |
-- Visualizza tutti gli stati degli indici

Il login del link ipertestuale è visibile.

-- Visualizza gli indici con lo stato rosso
Il login del link ipertestuale è visibile.

Documentazione:Il login del link ipertestuale è visibile.

 Padrone di casa| Pubblicato il 17-04-2023 12:12:32 |
Elasticsearch (ES) non riesce a scrivere i dati nella soluzione del guasto
https://www.itsvse.com/thread-10568-1-1.html
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com