Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 14418|Svar: 2

Elasticsearch(ES)-klusterets hälsa: röd Felanalys

[Kopiera länk]
Publicerad den 27-1-2021 23:08:07 | | | |
Genom att använda elasticsearch-head-panelen för att ansluta till Elasticsearch(ES) hittade jag följande fel:

Klusterhälsa: röd (24 av 31)


För att se statusinformation, besök:Inloggningen med hyperlänken är synlig.

{
  "cluster_name" : "elasticsearch",
  "status": "röd",
  "timed_out" : falskt,
  "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" : "röd"Status är Tomt

Huvudpluginet visas i olika färger

1) Grön – det hälsosammaste tillståndet, vilket innebär att alla primära och replikafragment finns tillgängliga;
2) Gul – alla primära skärvor finns tillgängliga, men vissa replika skärvor finns inte tillgängliga;
3) Röd – Vissa primära skärvor finns inte tillgängliga. (Vid denna tidpunkt kan viss data fortfarande hittas när frågan exekveras, så det är bättre att lösa det snabbt.) )


För att se indexstatusen, gå åt:Inloggningen med hyperlänken är synlig.

.monitoring-es-6-2021.01.22 0 p OTILLDELADE ALLOCATION_FAILED
Vad är otilldelad sharding?

Förklaring i en mening: Oallokerade skärvor.
När du startar ES kommer du märka att klusterskärvorna ser lila, grå och slutligen gröna ut efter att ha uppdaterat hela tiden via Head-pluginen.


Varför uppstår otilldelad sharding?

Om du till exempel inte kan allokera shards, har du överallokerat antalet replikshards för antalet noder i klustret, förblir shards OTILLDELADE.
Felkoden är: ALLOCATION_FAILED.


Möjliga orsaker till problem med otilldelad sharding?

1) INDEX_CREATED: Inte allokerat på grund av API:et som skapade indexet.
2) CLUSTER_RECOVERED: Ej allokerad på grund av full klusteråterställning.
3) INDEX_REOPENED: Ej tilldelat på grund av öppning eller stängning av ett index.
4) DANGLING_INDEX_IMPORTED: Ej tilldelad på grund av resultatet av import av hängande index.
5) NEW_INDEX_RESTORED: Ej tilldelad på grund av att man återgår till ett nytt index.
6) EXISTING_INDEX_RESTORED: Ej tilldelad på grund av att man återgår till ett slutet index.
7) REPLICA_ADDED: Inte allokerat eftersom replikafragment uttryckligen lagts till.
8) ALLOCATION_FAILED: Ej allokerad på grund av felåtkomst av shard.
9) NODE_LEFT: Noden som bär skärvan lämnar klustret och tilldelas inte.
10) OMINITIERAD: På grund av oallokerade shards vid övergång från start till initiering (t.ex. sharding med skuggkopior).
11) REROUTE_CANCELLED: Utdela som ett resultat av ett uttryckligt unresail-kommando.
12) REALLOCATED_REPLICA: Fastställ att en bättre replikaplats är kalibrerad för användning, vilket leder till att befintlig kopiallokering avbryts och avallokeras.


Logga in på servern och visa Elasticsearch (ES)-loggarna enligt följande:

Elasticsearch ger ut många loggar, alla i katalogen ES_HOME/logs. Standardnivån för loggning är INFO. Den ger måttlig information, men är utformad för att inte överbelasta dina loggar.
Inloggningen med hyperlänken är synlig.



Det finns ett stort antal fel, såsom:

[2021-01-21T03:33:26,435] [VARNING] [o.e.x.m.e.l.LocalExporter] [A_OefhJ] oväntat fel vid indexering av övervakningsdokument
org.elasticsearch.xpack.monitoring.exporter.ExportException: ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];]
        på org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$throwExportException$2(LocalBulk.java:128) ~[?:?]
        på java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_222]
        på java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_222]
        på java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) ~[?:1.8.0_222]
        på java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[?:1.8.0_222]
        på 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]
        på java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:1.8.0_222]
        på java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_222]
        på java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485) ~[?:1.8.0_222]
        på org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.throwExportException(LocalBulk.java:129) ~[?:?]
        på org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$doFlush$0(LocalBulk.java:111) ~[?:?]
        på org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.action.support.ContextPreservingActionListener.onResponse(ContextPreservingActionListener.java:43) ~[elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:85) ~[elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.action.bulk.TransportBulkAction$BulkRequestModifier.lambda$wrapActionListenerIfNeeded$0(TransportBulkAction.java:607) ~[elasticsearch-6.5.2.jar :6.5.2]
        på org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.finishHim(TransportBulkAction.java:414) ~[elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.onFailure(TransportBulkAction.java:409) ~[elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.action.support.TransportAction$1.onFailure(TransportAction.java:91) ~[elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.finishAsFailed(TransportReplicationAction.java:901) ~[elasticsearch-6.5.2.jar :6.5.2]
        på org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockException(TransportReplicationAction.java:824) ~[ elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockExceptions(TransportReplicationAction.java:812) ~[ elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.doRun(TransportReplicationAction.java:710) ~[elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.action.support.replication.TransportReplicationAction.doExecute(TransportReplicationAction.java:169) ~[elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.action.support.replication.TransportReplicationAction.doExecute(TransportReplicationAction.java:97) ~[elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:167) ~[elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.apply(SecurityActionFilter.java:126) ~[?:?]
        på org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:165) ~[elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:139) ~[elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation.doRun(TransportBulkAction.java:384) ~[elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.action.bulk.TransportBulkAction.executeBulk(TransportBulkAction.java:496) ~[elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.action.bulk.TransportBulkAction.executeIngestAndBulk(TransportBulkAction.java:243) ~[elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.action.bulk.TransportBulkAction.doExecute(TransportBulkAction.java:169) ~[elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.action.bulk.TransportBulkAction.lambda$processBulkIndexIngestRequest$4(TransportBulkAction.java:549) ~[elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.ingest.IngestService$4.doRun(IngestService.java:417) [elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:723) [elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-6.5.2.jar:6.5.2]
        på java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222]
        på java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222]
        på java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]
Orsakad av: org.elasticsearch.cluster.block.ClusterBlockException: blockerad av: [FORBIDDEN/12/index read-only / allow delete (api)];
        på org.elasticsearch.cluster.block.ClusterBlocks.indexBlockedException(ClusterBlocks.java:183) ~[elasticsearch-6.5.2.jar:6.5.2]
        på org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockExceptions(TransportReplicationAction.java:810) ~[ elasticsearch-6.5.2.jar:6.5.2]
        ... 21 till


Efter analys visade det sig att det berodde på attDiskutrymmet på servern där ES är placerat är för lågt, när ett index med en eller flera fragment tilldelas en nod i en disk som lagrar mer än 95 % av datan, tvingas indexet in i skrivskyddat läge.

CentOS räknar varje mappstorlek och letar efter stora filer
https://www.itsvse.com/thread-9542-1-1.html
Se all information om indexinställningar för att besöka:Inloggningen med hyperlänken är synlig., som visas i figuren nedan:



"kunskap" : {
    "inställningar" : {
      "index" : {
        "number_of_shards" : "3",
        "blocks" : {
          "read_only_allow_delete" : "sant"
        },
        "provided_name": "kunskap",
        "creation_date" : "1576206251443",
        "number_of_replicas" : "0",
        "uuid" : "yeSIP_otQo6JQ8ooRdr8hA",
        "version" : {
          "skapade": "6050299"
        }
      }
    }
  }
read_only_allow_deleteNär detta attribut är sant tillåter ES-indexet endast läsning och radering av data, och tillåter inte tillägg eller ändring av data


lösning

Efter att ha löst diskproblemet, expandera eller ta bort skräppostfiler, följ guiden nedan.

Ställ read_only_allow_delete på falskt

Få skicka en put-förfrågan med elasticsearch-head:Inloggningen med hyperlänken är synlig., som visas i figuren nedan:

{
"Bekräftat": Sant
}





Detta kan fortfarande inte bli av med Reds hälsotillstånd,Radera ".monitoring-es-6-*" data direkt, tillståndet blir friskt, som visas i figuren nedan:



(Slut)




Föregående:CentOS räknar varje mappstorlek och letar efter stora filer
Nästa:Elasticsearch(ES) klusterhälsa: gul (6 av 7) status
 Hyresvärd| Publicerad 2021-6-15 11:22:58 |
 Hyresvärd| Publicerad den 2023-4-17 12:12:32 |
Elasticsearch (ES) misslyckas med att skriva data till fellösningen
https://www.itsvse.com/thread-10568-1-1.html
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com