Ved å bruke elasticsearch-head-panelet for å koble til Elasticsearch(ES) fant jeg følgende feil:
Klyngehelse: rød (24 av 31)
For å se statusinformasjon, besøk:Innloggingen med hyperkoblingen er 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"Statusen er Tom
Head-pluginen vil vises i forskjellige farger
1) Grønn – den sunneste tilstanden, som betyr at alle primær- og replikafragmenter er tilgjengelige; 2) Gul – alle primærfragmenter er tilgjengelige, men noen replikafragmenter er ikke tilgjengelige; 3) Rød – Noen primærfragmenter er ikke tilgjengelige. (På dette tidspunktet kan noe data fortsatt finnes når spørringen kjøres, så det er bedre å løse det raskt.) )
For å se indeksstatusen, gå til:Innloggingen med hyperkoblingen er synlig.
.monitoring-es-6-2021.01.22 0 p TILDELT ALLOCATION_FAILED Hva er unassigned sharding?
Forklaring i én setning: Uallokerte fragmenter. Når du starter ES, vil du oppdage at cluster-shardene vil fremstå lilla, grå og til slutt grønne etter kontinuerlig oppdatering via Head-pluginen.
Hvorfor skjer utildelt sharding?
Hvis du for eksempel ikke kan allokere shards, har du overallokert antall replika-shards for antall noder i klyngen, forblir shardene UTILDELT. Feilkoden er: ALLOCATION_FAILED.
Mulige årsaker til problemer med uautorisert sharding?
1) INDEX_CREATED: Ikke allokert på grunn av API-et som opprettet indeksen. 2) CLUSTER_RECOVERED: Ikke tildelt på grunn av full klyngegjenoppretting. 3) INDEX_REOPENED: Ikke tildelt på grunn av åpning eller lukking av en indeks. 4) DANGLING_INDEX_IMPORTED: Ikke tildelt på grunn av resultatet av import av den hengende indeksen. 5) NEW_INDEX_RESTORED: Ikke tildelt på grunn av tilbakegang til en ny indeks. 6) EXISTING_INDEX_RESTORED: Ikke tildelt på grunn av tilbakegang til en lukket indeks. 7) REPLICA_ADDED: Ikke allokert på grunn av eksplisitt å legge til replika-shards. 8) ALLOCATION_FAILED: Ikke allokert på grunn av feil i shard-allokering. 9) NODE_LEFT: Noden som bærer fragmentet forlater klyngen og blir ikke allokert. 10) REINITIALISERT: På grunn av uallokerte shards når man går fra start til initialisering (f.eks. sharding med shadow shadow-kopier). 11) REROUTE_CANCELLED: Fjern som følge av en eksplisitt unresail-kommando. 12) REALLOCATED_REPLICA: Bestem at en bedre replikaplassering er kalibrert for bruk, noe som resulterer i kansellering av eksisterende kopiallokering og fraallokering.
Logg inn på serveren og se Elasticsearch (ES)-loggene som følger:
Elasticsearch gir ut mange logger, alle i ES_HOME/logs-katalogen. Standard loggingsnivå er INFO. Den gir moderat informasjon, men er designet for ikke å overbelaste loggene dine. Innloggingen med hyperkoblingen er synlig.
Det finnes et stort antall feil som:
[2021-01-21T03:33:26,435] [ADVARSEL] [o.e.x.m.e.l.LocalExporter] [A_OefhJ] uventet feil ved indeksering av overvåkingsdokumentet
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] 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] 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] at 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] at 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] at 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] at org.elasticsearch.action.bulk.TransportBulkAction.doExecute(TransportBulkAction.java:169) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.action.bulk.TransportBulkAction.lambda$processBulkIndexIngestRequest$4(TransportBulkAction.java:549) ~[elasticsearch-6.5.2.jar:6.5.2] at 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] 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] på java.lang.Thread.run(Thread.java:748) [?:1.8.0_222] Forårsaket av: org.elasticsearch.cluster.block.ClusterBlockException: blokkert 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 til
Etter analyse ble det funnet at det var fordiDiskplassen til serveren der ES er plassert er for lav, når en indeks med én eller flere fragmenter er tildelt en node i en disk som lagrer mer enn 95 % av dataene, vil indeksen bli tvunget inn i skrivebeskyttet modus.
Se all informasjon om indeksinnstillinger for å besøke:Innloggingen med hyperkoblingen er synlig., som vist i figuren nedenfor:
"kunnskap" : { "settings" : { "indeks" : { "number_of_shards" : "3", "blokker" : { "read_only_allow_delete" : "sant" }, "provided_name" : "kunnskap", "creation_date" : "1576206251443", "number_of_replicas" : "0", "uuid" : "yeSIP_otQo6JQ8ooRdr8hA", "versjon" : { "Skapt" : "6050299" } } } } read_only_allow_deleteNår dette attributtet er sant, tillater ES-indeksen kun lesing og sletting av data, og tillater ikke å legge til eller endre data
løsning
Etter å ha løst diskproblemet, utvid eller slett søppelfiler, følg veiledningen nedenfor.
Sett read_only_allow_delete til falsk
Send en put-forespørsel ved hjelp av elasticsearch-head:Innloggingen med hyperkoblingen er synlig., som vist i figuren nedenfor:
Dette kan fortsatt ikke fjerne Reds helsestatus,Slett ".monitoring-es-6-*"-dataene direkte, blir tilstanden frisk, som vist i figuren nedenfor:
(Slutt)
|