Použitím panelu elasticsearch-head na pripojenie k Elasticsearch(ES) som našiel nasledujúcu chybu:
Zdravie klasterov: červené (24 z 31)
Pre zobrazenie informácií o stave navštívte:Prihlásenie na hypertextový odkaz je viditeľné.
{ "cluster_name" : "elasticsearch", "stav": "červená", "timed_out" : nepravda, "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
} "Stav" : "Červený"Stav je prázdny
Plugin hlavy sa zobrazí v rôznych farbách
1) Zelená – najzdravší stav, čo znamená, že všetky primárne a replikové úlomky sú dostupné; 2) Žltá – všetky primárne úlomky sú dostupné, ale niektoré repliky nie sú dostupné; 3) Červená - Niektoré primárne úlomky nie sú dostupné. (V tomto momente sa pri vykonávaní dotazu ešte dajú nájsť niektoré dáta, takže je lepšie ho rýchlo vyriešiť.) )
Ak chcete zobraziť stav indexu, pristupte:Prihlásenie na hypertextový odkaz je viditeľné.
.monitoring-es-6-2021.01.22 0 p NEPRIDELENÉ ALLOCATION_FAILED Čo je to nepriradené shardovanie?
Vysvetlenie v jednej vete: Nepridelené úlomky. Pri spustení ES zistíte, že cluster shardy sa po neustálom obnovovaní cez Head plug-in zobrazia fialovo, sivo a nakoniec zeleno.
Prečo dochádza k nepriradenému shardingu?
Ak napríklad nemôžete alokovať shardy, prealokovali ste počet replika shardov vzhľadom na počet uzlov v klastri, shardy zostávajú NEPRIRADENÉ. Chybový kód je: ALLOCATION_FAILED.
Možné príčiny problémov s nepriradeným shardingom?
1) INDEX_CREATED: Nie je alokovaný kvôli API, ktoré vytvorilo index. 2) CLUSTER_RECOVERED: Nie je pridelená kvôli úplnému zotaveniu klastrov. 3) INDEX_REOPENED: Nie je alokovaný kvôli otvoreniu alebo zatvoreniu indexu. 4) DANGLING_INDEX_IMPORTED: Nepridelené kvôli výsledku dovozu visúceho indexu. 5) NEW_INDEX_RESTORED: Nie je alokovaný kvôli návratu k novému indexu. 6) EXISTING_INDEX_RESTORED: Nealokované kvôli návratu k uzavretému indexu. 7) REPLICA_ADDED: Nie je alokovaný kvôli explicitnému pridaniu replikových úlomkov. 8) ALLOCATION_FAILED: Nealokované kvôli zlyhaniu alokácie úlomkov. 9) NODE_LEFT: Uzol nesúci úlomok opúšťa klaster a nie je pridelený. 10) ZNOVU inicializované: Kvôli nealokovaným úlomkom pri prechode zo štartu na inicializáciu (napr. shardovanie s tieňovými kópiami). 11) REROUTE_CANCELLED: Deallocate v dôsledku explicitného príkazu unresail. 12) REALLOCATED_REPLICA: Určiť, že lepšie umiestnenie repliky je kalibrované na použitie, čo vedie k zrušeniu existujúcej alokácie kópie a jej odalokácie.
Prihláste sa na server a pozrite si logy Elasticsearch (ES) nasledovne:
Elasticsearch generuje veľa logov, všetky v adresári ES_HOME/logs. Predvolená úroveň logovania je INFO. Poskytuje mierne informácie, ale je navrhnutý tak, aby nezahltil vaše záznamy. Prihlásenie na hypertextový odkaz je viditeľné.
Existuje veľké množstvo chýb, ako napríklad:
[2021-01-21T03:33:26,435] [VAROVANIE] [o.e.x.m.e.l.LocalExporter] [A_OefhJ] nečakaná chyba pri indexovaní monitorovacieho dokumentu
org.elasticsearch.xpack.monitoring.exporter.ExportException: ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];] at 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] at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) ~[?:1.8.0_222] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[?:1.8.0_222] at 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] at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485) ~[?:1.8.0_222] at org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.throwExportException(LocalBulk.java:129) ~[?:?] at org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$doFlush$0(LocalBulk.java:111) ~[?:?] at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.action.support.ContextPreservingActionListener.onResponse(ContextPreservingActionListener.java:43) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:85) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.action.bulk.TransportBulkAction$BulkRequestModifier.lambda$wrapActionListenerIfNeeded$0(TransportBulkAction.java:607) ~[elasticsearch-6.5.2.jar :6.5.2] at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.finishHim(TransportBulkAction.java:414) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.onFailure(TransportBulkAction.java:409) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.action.support.TransportAction$1.onFailure(TransportAction.java:91) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.finishAsFailed(TransportReplicationAction.java:901) ~[elasticsearch-6.5.2.jar :6.5.2] at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockException(TransportReplicationAction.java:824) ~[ elasticsearch-6.5.2.jar:6.5.2] at 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] at 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] at org.elasticsearch.action.support.replication.TransportReplicationAction.doExecute(TransportReplicationAction.java:97) ~[elasticsearch-6.5.2.jar:6.5.2] at 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) ~[?:?] at org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:165) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:139) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation.doRun(TransportBulkAction.java:384) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.action.bulk.TransportBulkAction.executeBulk(TransportBulkAction.java:496) ~[elasticsearch-6.5.2.jar:6.5.2] at 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] at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:723) [elasticsearch-6.5.2.jar:6.5.2] na 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] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222] Spôsobené: org.elasticsearch.cluster.block.ClusterBlockException: blokované: [FORBIDDEN/12/index len na čítanie / povolené vymazanie (api)]; at org.elasticsearch.cluster.block.ClusterBlocks.indexBlockedException(ClusterBlocks.java:183) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockExceptions(TransportReplicationAction.java:810) ~[ elasticsearch-6.5.2.jar:6.5.2] ... Ďalších 21
Po analýze sa zistilo, že je to kvôliDiskový priestor servera, kde sa ES nachádza, je príliš nízky, keď je akýkoľvek index s jedným alebo viacerými úlomkami priradený uzlu na disku, ktorý uchováva viac ako 95 % dát, index bude nútený prejsť do režimu iba na čítanie.
Zobraziť všetky informácie o nastaveniach indexu, ktoré treba navštíviť:Prihlásenie na hypertextový odkaz je viditeľné., ako je znázornené na obrázku nižšie:
"poznanie" : { "nastavenia" : { "index" : { "number_of_shards" : "3", "bloky" : { "read_only_allow_delete" : "pravda" }, "provided_name" : "poznanie", "creation_date" : "1576206251443", "number_of_replicas" : "0", "uuid": "yeSIP_otQo6JQ8ooRdr8hA", "verzia" : { "vytvoril" : "6050299" } } } } read_only_allow_deleteAk je tento atribút pravdivý, ES index umožňuje iba čítanie a mazanie dát a neumožňuje pridávanie ani úpravu dát
riešenie
Po vyriešení problému s diskom, rozbalte alebo vymažte nevyžiadané súbory, postupujte podľa návodu nižšie.
Nastavte read_only_allow_delete na false
Získajte možnosť odoslať žiadosť o put pomocou elasticsearch-head:Prihlásenie na hypertextový odkaz je viditeľné., ako je znázornené na obrázku nižšie:
To však stále nemôže odstrániť Redov zdravotný stav,Vymažte údaje ".monitoring-es-6-*" priamo, stav sa stáva zdravým, ako je znázornené na obrázku nižšie:
(Koniec)
|