Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 14418|Răspunde: 2

Sănătatea clusterului Elasticsearch(ES): analiza defecțiunii roșii

[Copiază linkul]
Postat la 2021-1-27 23:08:07 | | | |
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.

CentOS numără dimensiunea fiecărui folder și caută fișiere mari
https://www.itsvse.com/thread-9542-1-1.html
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)




Precedent:CentOS numără dimensiunea fiecărui folder și caută fișiere mari
Următor:Sănătatea clusterului Elasticsearch(ES): stare galben (6 din 7)
 Proprietarul| Postat la 2021-6-15 11:22:58 |
-- Vezi toate statusurile indexului

Autentificarea cu hyperlink este vizibilă.

-- Vizualizarea indexurilor cu starea roșie
Autentificarea cu hyperlink este vizibilă.

Documentație:Autentificarea cu hyperlink este vizibilă.

 Proprietarul| Postat la 2023-4-17 12:12:32 |
Elasticsearch (ES) nu reușește să scrie date în soluția de defect
https://www.itsvse.com/thread-10568-1-1.html
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com