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.
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:
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)
|