Folosind panoul elasticsearch-head pentru a mă conecta la Elasticsearch(ES) am găsit următoarea eroare:
Sănătate Cluster: roșu (24 din 31)
Pentru a vizualiza informații despre status, vizitați:Autentificarea cu hyperlink este vizibilă.
{ "cluster_name" : "elasticsearch", "status" : "roșu", "timed_out" : fals, "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
} "status": "roșu"Statusul este Gol
Plugin-ul principal va fi afișat în culori diferite
1) Verde - cel mai sănătos stat, ceea ce înseamnă că toate cioburile primare și replici sunt disponibile; 2) Galben - toate cioburile primare sunt disponibile, dar unele replici nu sunt disponibile; 3) Roșu - Unele cioburi principale nu sunt disponibile. (În acest moment, unele date pot fi încă găsite la executarea interogării, așa că este mai bine să le rezolvăm rapid.) )
Pentru a vedea statusul indexului, accesați:Autentificarea cu hyperlink este vizibilă.
.monitoring-es-6-2021.01.22 0 p NEATRIBUIT ALLOCATION_FAILED Ce este sharding-ul neatribuit?
Explicație într-o propoziție: fragmente nealocate de fragmente. Când pornești ES, vei observa că fragmentele clusterului vor apărea mov, gri și în final verzi după ce te reîmprospătezi constant prin plug-in-ul de cap.
De ce are loc sharding-ul neatribuit?
Dacă nu poți aloca fragmente, de exemplu, dacă ai supraalocat numărul de replici pentru numărul de noduri din cluster, fragmentele rămân NEATRIBUITE. Codul de eroare este: ALLOCATION_FAILED.
Posibile cauze ale problemelor de sharding neatribuite?
1) INDEX_CREATED: Nu este alocat din cauza API-ului care a creat indexul. 2) CLUSTER_RECOVERED: Nealocat din cauza recuperării complete a clusterului. 3) INDEX_REOPENED: Nealocat din cauza deschiderii sau închiderii unui index. 4) DANGLING_INDEX_IMPORTED: Nealocat din cauza rezultatului importului indexului atârnat. 5) NEW_INDEX_RESTORED: Nealocat din cauza revenirii la un nou index. 6) EXISTING_INDEX_RESTORED: Nealocat din cauza revenirii la un index închis. 7) REPLICA_ADDED: Nu sunt alocate din cauza adăugării explicite a replicilor fragmente. 8) ALLOCATION_FAILED: Nealocat din cauza unei eșecuri de alocare a fragmentelor. 9) NODE_LEFT: Nodul care poartă fragmentul părăsește clusterul și nu este alocat. 10) REINIȚIALIZAT: Din cauza fragmentelor nealocate la trecerea de la start la inițializare (de exemplu, sharding cu shadow copy-uri). 11) REROUTE_CANCELLED: Dezalocare ca urmare a unei comenzi explicite de de-navigație. 12) REALLOCATED_REPLICA: Determină că o locație mai bună a replicii este calibrată pentru utilizare, rezultând anularea și dealocarea copiilor existente.
Conectează-te la server și vizualizează jurnalele Elasticsearch (ES) astfel:
Elasticsearch generează o mulțime de loguri, toate în directorul ES_HOME/logs. Nivelul implicit de înregistrare este INFO. Oferă informații moderate, dar este conceput să nu aglomereze jurnalele. Autentificarea cu hyperlink este vizibilă.
Există un număr mare de erori, cum ar fi:
[2021-01-21T03:33:26,435] [AVERTISMENT] [o.e.x.m.e.l.LocalExporter] [A_OefhJ] eroare neașteptată la indexarea documentului de monitorizare
org.elasticsearch.xpack.monitoring.exporter.ExportException: ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];] la 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] la java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) ~[?:1.8.0_222] la java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[?:1.8.0_222] la 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] la 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] la org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.throwExportException(LocalBulk.java:129) ~[?:?] la org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$doFlush$0(LocalBulk.java:111) ~[?:?] la org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.action.support.ContextPreservingActionListener.onResponse(ContextPreservingActionListener.java:43) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:85) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.action.bulk.TransportBulkAction$BulkRequestModifier.lambda$wrapActionListenerIfNeeded$0(TransportBulkAction.java:607) ~[elasticsearch-6.5.2.jar :6.5.2] la org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.finishHim(TransportBulkAction.java:414) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.onFailure(TransportBulkAction.java:409) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.action.support.TransportAction$1.onFailure(TransportAction.java:91) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.finishAsFailed(TransportReplicationAction.java:901) ~[elasticsearch-6.5.2.jar :6.5.2] la org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockException(TransportReplicationAction.java:824) ~[ elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockExceptions(TransportReplicationAction.java:812) ~[ elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.doRun(TransportReplicationAction.java:710) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.action.support.replication.TransportReplicationAction.doExecute(TransportReplicationAction.java:169) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.action.support.replication.TransportReplicationAction.doExecute(TransportReplicationAction.java:97) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:167) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.apply(SecurityActionFilter.java:126) ~[?:?] la org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:165) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:139) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation.doRun(TransportBulkAction.java:384) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.action.bulk.TransportBulkAction.executeBulk(TransportBulkAction.java:496) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.action.bulk.TransportBulkAction.executeIngestAndBulk(TransportBulkAction.java:243) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.action.bulk.TransportBulkAction.doExecute(TransportBulkAction.java:169) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.action.bulk.TransportBulkAction.lambda$processBulkIndexIngestRequest$4(TransportBulkAction.java:549) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.ingest.IngestService$4.doRun(IngestService.java:417) [elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:723) [elasticsearch-6.5.2.jar:6.5.2] la 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] la java.lang.Thread.run(Thread.java:748) [?:1.8.0_222] Cauzat de: org.elasticsearch.cluster.block.ClusterBlockException: blocat de: [FORBIDDEN/12/index read-only / allow delete (api)]; la org.elasticsearch.cluster.block.ClusterBlocks.indexBlockedException(ClusterBlocks.java:183) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockExceptions(TransportReplicationAction.java:810) ~[ elasticsearch-6.5.2.jar:6.5.2] ... Încă 21
După analiză, s-a constatat că era din cauzăSpațiul pe disc al serverului unde se află ES-ul este prea mic, odată ce orice index cu unul sau mai multe fragmente este atribuit unui nod dintr-un disc care stochează mai mult de 95% din date, indexul va fi forțat să intre în modul doar citire.
Vizualizați toate informațiile despre setările indexului pentru a le vizita:Autentificarea cu hyperlink este vizibilă., așa cum se arată în figura de mai jos:
"cunoaștere" : { "setări" : { "index" : { "number_of_shards" : "3", "blocuri" : { "read_only_allow_delete" : "adevărat" }, "provided_name" : "cunoaștere", "creation_date" : "1576206251443", "number_of_replicas" : "0", "uuid" : "yeSIP_otQo6JQ8ooRdr8hA", "version": { "creat" : "6050299" } } } } read_only_allow_deleteCând acest atribut este adevărat, indicele ES permite doar citirea și ștergerea datelor și nu permite adăugarea sau modificarea datelor
soluție
După rezolvarea problemei discului, extinde sau șterge fișierele nesănătoase, urmează tutorialul de mai jos.
Setează read_only_allow_delete pe false
Poți trimite o cerere de vânzare folosind elasticsearch-head:Autentificarea cu hyperlink este vizibilă., așa cum se arată în figura de mai jos:
{ "recunoscut": adevărat
}
Asta tot nu poate scăpa de starea de sănătate a lui Red,Șterge direct datele ".monitoring-es-6-*", statul devine sănătos, așa cum se arată în figura de mai jos:
(Sfârșit)
|