Käyttäessäni elasticsearch-head-paneelia yhdistääkseni Elasticsearch(ES):ään, löysin seuraavan virheen:
Klusterien terveys: punainen (24/31)
Tilatietojen näkemiseksi käy osoitteessa:Hyperlinkin kirjautuminen on näkyvissä.
{ "cluster_name" : "elasticsearch", "status" : "punainen", "timed_out" : väärin, "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" : "punainen"Tila on tyhjä
Pääplugin näytetään eri väreissä
1) Vihreä – tervein tila, mikä tarkoittaa, että kaikki ensisijaiset ja replikoidut sirpaleet ovat saatavilla; 2) Keltainen – kaikki ensisijaiset sirut ovat saatavilla, mutta jotkut replikasirut eivät ole saatavilla; 3) Punainen – Jotkut ensisijaiset sirpaleet eivät ole saatavilla. (Tällä hetkellä jonkin verran dataa löytyy vielä kyselyn suorittamisesta, joten on parempi ratkaista se nopeasti.) )
Indeksin tilan näkemiseksi käytä:Hyperlinkin kirjautuminen on näkyvissä.
.monitoring-es-6-2021.01.22 0 p MÄÄRITTELEMÄTÖN ALLOCATION_FAILED Mitä on määrittelemätön sharding?
Selitys yhdellä lauseella: Jakamattomat sirpaleet. Kun aloitat ES:n, huomaat, että klusterisirut näyttävät violeteilta, harmailta ja lopulta vihreiltä jatkuvan Head-lisäosan päivittämisen jälkeen.
Miksi määrittelemätöntä shardingia tapahtuu?
Jos et voi varata sirpaleita, esimerkiksi olet yliallokoitunut replika-shardien määrän klusterin solmujen määrälle, ja sirpaleet pysyvät MÄÄRITTELEMÄTTÖMINÄ. Virhekoodi on: ALLOCATION_FAILED.
Mahdollisia syitä määrittämättömiin sharding-ongelmiin?
1) INDEX_CREATED: Ei varattu API:n vuoksi, joka loi indeksin. 2) CLUSTER_RECOVERED: Ei varattu täyden klusteripalautuksen vuoksi. 3) INDEX_REOPENED: Ei osoitettu indeksin avaamisen tai sulkemisen vuoksi. 4) DANGLING_INDEX_IMPORTED: Ei myönnetty roikkuvan indeksin tuontituloksen vuoksi. 5) NEW_INDEX_RESTORED: Ei myönnetty, koska palautetaan uuteen indeksiin. 6) EXISTING_INDEX_RESTORED: Ei allokoitu, koska palautetaan suljettuun indeksiin. 7) REPLICA_ADDED: Ei varattu, koska replika-sirut on nimenomaisesti lisätty. 8) ALLOCATION_FAILED: Ei varattu sirpaleiden allokointivirheen vuoksi. 9) NODE_LEFT: Sirpaletta kantava solmu poistuu klusterista eikä sitä varata. 10) UUDELLEENALUSTETTU: Johtuen jakamattomista sirpaleista, kun siirrytään alusta alustukseen (esim. sharding varjokopioiden kanssa). 11) REROUTE_CANCELLED: Deallocate nimenomaisen unresail-käskyn seurauksena. 12) REALLOCATED_REPLICA: Määritä, että parempi replikapaikka on kalibroitu käyttöön, mikä johtaa olemassa olevan kopiojaon peruuttamiseen ja jakamisen poistamiseen.
Kirjaudu palvelimelle ja katso Elasticsearchin (ES) lokit seuraavasti:
Elasticsearch tuottaa paljon lokkeja, kaikki ES_HOME/logs-hakemistossa. Oletuslokitaso on INFO. Se tarjoaa kohtuullista tietoa, mutta on suunniteltu olemaan ylikuormittamatta lokitietojasi. Hyperlinkin kirjautuminen on näkyvissä.
Virheitä on paljon, kuten:
[2021-01-21T03:33:26,435] [VAROITUS] [o.e.x.m.e.l.LocalExporter] [A_OefhJ] odottamaton virhe valvontadokumentin indeksoinnissa
org.elasticsearch.xpack.monitoring.exporter.ExportException: ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];] osoitteessa org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$throwExportException$2(LocalBulk.java:128) ~[?:?] osoitteessa 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] at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) ~[?:1.8.0_222] osoitteessa java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[?:1.8.0_222] osoitteessa java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) ~[?:1.8.0_222] osoitteessa java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:1.8.0_222] osoitteessa java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:1.8.0_222] osoitteessa java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_222] osoitteessa java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485) ~[?:1.8.0_222] osoitteessa org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.throwExportException(LocalBulk.java:129) ~[?:?] osoitteessa org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$doFlush$0(LocalBulk.java:111) ~[?:?] osoitteessa org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.action.support.ContextPreservingActionListener.onResponse(ContextPreservingActionListener.java:43) ~[elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:85) ~[elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.action.bulk.TransportBulkAction$BulkRequestModifier.lambda$wrapActionListenerIfNeeded$0(TransportBulkAction.java:607) ~[elasticsearch-6.5.2.jar :6.5.2] osoitteessa org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.finishHim(TransportBulkAction.java:414) ~[elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.onFailure(TransportBulkAction.java:409) ~[elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.action.support.TransportAction$1.onFailure(TransportAction.java:91) ~[elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.finishAsFailed(TransportReplicationAction.java:901) ~[elasticsearch-6.5.2.jar :6.5.2] osoitteessa org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockException(TransportReplicationAction.java:824) ~[ elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockExceptions(TransportReplicationAction.java:812) ~[ elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.doRun(TransportReplicationAction.java:710) ~[elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.action.support.replication.TransportReplicationAction.doExecute(TransportReplicationAction.java:169) ~[elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.action.support.replication.TransportReplicationAction.doExecute(TransportReplicationAction.java:97) ~[elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:167) ~[elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.apply(SecurityActionFilter.java:126) ~[?:?] osoitteessa org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:165) ~[elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:139) ~[elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation.doRun(TransportBulkAction.java:384) ~[elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.action.bulk.TransportBulkAction.executeBulk(TransportBulkAction.java:496) ~[elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.action.bulk.TransportBulkAction.executeIngestAndBulk(TransportBulkAction.java:243) ~[elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.action.bulk.TransportBulkAction.doExecute(TransportBulkAction.java:169) ~[elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.action.bulk.TransportBulkAction.lambda$processBulkIndexIngestRequest$4(TransportBulkAction.java:549) ~[elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.ingest.IngestService$4.doRun(IngestService.java:417) [elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:723) [elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-6.5.2.jar:6.5.2] osoitteessa java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222] osoitteessa java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222] osoitteessa java.lang.Thread.run(Thread.java:748) [?:1.8.0_222] Aiheutettu: org.elasticsearch.cluster.block.ClusterBlockException: estetty: [FORBIDDEN/12/index read-only / allow delete (api)]; osoitteessa org.elasticsearch.cluster.block.ClusterBlocks.indexBlockedException(ClusterBlocks.java:183) ~[elasticsearch-6.5.2.jar:6.5.2] osoitteessa org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockExceptions(TransportReplicationAction.java:810) ~[ elasticsearch-6.5.2.jar:6.5.2] ... 21 lisää
Analyysin jälkeen todettiin, että syynä oliPalvelimen levytila, jossa ES sijaitsee, on liian pieni, kun mikä tahansa indeksi, jossa on yksi tai useampi sirpale, on osoitettu solmulle levyllä, joka tallentaa yli 95 % tiedoista, indeksi pakotetaan vain luku -tilaan.
Katso kaikki hakemistoasetusten tiedot vierailtavaksi:Hyperlinkin kirjautuminen on näkyvissä., kuten alla olevassa kuvassa näkyy:
"tieto" : { "asetukset" : { "indeksi" : { "number_of_shards" : "3", "Blocks" : { "read_only_allow_delete" : "totta" }, "provided_name" : "tieto", "creation_date" : "1576206251443", "number_of_replicas" : "0", "uuid" : "yeSIP_otQo6JQ8ooRdr8hA", "versio" : { "luotu": "6050299" } } } } read_only_allow_deleteKun tämä attribuutti on totta, ES-indeksi sallii vain datan lukemisen ja poistamisen, eikä se salli tietojen lisäämistä tai muokkaamista
ratkaisu
Kun levyongelma on ratkaistu, laajenna tai poista roskatiedostot, seuraa alla olevaa ohjeistusta.
Aseta read_only_allow_delete väärin
Saat lähettää put-pyynnön elasticsearch-headin avulla:Hyperlinkin kirjautuminen on näkyvissä., kuten alla olevassa kuvassa näkyy:
Tämä ei vieläkään poista Redin terveydentilaa,Poista ".monitoring-es-6-*" -tiedot suoraan, tila muuttuu terveeksi, kuten alla olevassa kuvassa on esitetty:
(Loppu)
|