Naudodamas elasticsearch-head skydelį prisijungti prie Elasticsearch(ES) radau šią klaidą:
Klasteris Sveikata: raudona (24 iš 31)
Norėdami peržiūrėti būsenos informaciją, apsilankykite:Hipersaito prisijungimas matomas.
{ "cluster_name" : "elasticsearch", "status" : "raudona", "timed_out" : klaidinga, "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" : "raudona"Būsena yra Tuščia
Galvos papildinys bus rodomas skirtingomis spalvomis
1) Žalia - sveikiausia būsena, o tai reiškia, kad yra visos pirminės ir kopijos šukės; 2) Geltona - visos pirminės šukės yra prieinamos, tačiau kai kurių kopijų šukių nėra; 3) Raudona - kai kurių pirminių šukių nėra. (Šiuo metu vykdant užklausą vis tiek galima rasti kai kuriuos duomenis, todėl geriau juos greitai išspręsti.) )
Norėdami peržiūrėti indekso būseną, pasiekite:Hipersaito prisijungimas matomas.
.monitoring-es-6-2021.01.22 0 p NEPRISKIRTI ALLOCATION_FAILED Kas yra nepriskirtas skaldymas?
Paaiškinimas vienu sakiniu: Nepaskirstytos šukės. Paleidę ES, pastebėsite, kad klasterio šukės atrodys violetinės, pilkos ir galiausiai žalios po nuolatinio atnaujinimo per "Head" papildinį.
Kodėl atsiranda nepriskirtas skaldymas?
Jei negalite paskirstyti skeveldrų, pavyzdžiui, perskirstėte replikų skeveldrų skaičių klasterio mazgų skaičiui, skeveldros lieka NEPRISKIRTOS. Klaidos kodas yra: ALLOCATION_FAILED.
Galimos nepriskirtų skaldymo problemų priežastys?
1) INDEX_CREATED: nepriskirta dėl indeksą sukūrusios API. 2) CLUSTER_RECOVERED: nepriskirta dėl visiško klasterio atkūrimo. 3) INDEX_REOPENED: nepriskirtas dėl indekso atidarymo, atidarymo ar uždarymo. 4) DANGLING_INDEX_IMPORTED: nepriskirta dėl kabančio indekso importavimo rezultato. 5) NEW_INDEX_RESTORED: nepriskirta dėl grįžimo į naują indeksą. 6) EXISTING_INDEX_RESTORED: nepriskirtas dėl grįžimo į uždarą indeksą. 7) REPLICA_ADDED: Nepriskirta dėl aiškiai pridedant replikų šukių. 8) ALLOCATION_FAILED: nepriskirta dėl fragmentų paskirstymo klaidos. 9) NODE_LEFT: mazgas, nešantis skeveldrą, palieka klasterį ir nėra paskirtas. 10) REINITIALIZED: Dėl nepaskirstytų skeveldrų pereinant nuo pradžios iki inicijavimo (pvz., sharding su šešėlių šešėlių kopijomis). 11) REROUTE_CANCELLED: Išskirstymas dėl aiškios komandos negrįžti. 12) REALLOCATED_REPLICA: Nustatykite, kad geresnė replikos vieta yra sukalibruota naudojimui, todėl esamas kopijos paskirstymas ir nepaskirstymas bus atšauktas.
Prisijunkite prie serverio ir peržiūrėkite "Elasticsearch" (ES) žurnalus taip:
"Elasticsearch" išveda daug žurnalų, visi ES_HOME/logs kataloge. Numatytasis registravimo lygis yra INFO. Jame pateikiama saikinga informacija, tačiau jis sukurtas taip, kad neperkrautų žurnalų. Hipersaito prisijungimas matomas.
Yra daugybė klaidų, tokių kaip:
[2021-01-21T03:33:26,435] [ĮSPĖTI] [o.e.x.m.e.l.LocalExporter] [A_OefhJ] netikėta klaida indeksuojant stebėjimo dokumentą
org.elasticsearch.xpack.monitoring.exporter.ExportException: ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];] org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$throwExportException$2(LocalBulk.java:128) ~[?:?] java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_222] java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_222] java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) ~[?:1.8.0_222] java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[?:1.8.0_222] java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) ~[?:1.8.0_222] java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:1.8.0_222] java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:1.8.0_222] java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_222] java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485) ~[?:1.8.0_222] adresu org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.throwExportException(LocalBulk.java:129) ~[?:?] adresu org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$doFlush$0(LocalBulk.java:111) ~[?:?] adresu org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2] adresu org.elasticsearch.action.support.ContextPreservingActionListener.onResponse(ContextPreservingActionListener.java:43) ~[elasticsearch-6.5.2.jar:6.5.2] adresu org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:85) ~[elasticsearch-6.5.2.jar:6.5.2] adresu org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2] adresu org.elasticsearch.action.bulk.TransportBulkAction$BulkRequestModifier.lambda$wrapActionListenerIfNeeded$0(TransportBulkAction.java:607) ~[elasticsearch-6.5.2.jar :6.5.2] adresu org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2] adresu org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.finishHim(TransportBulkAction.java:414) ~[elasticsearch-6.5.2.jar:6.5.2] adresu org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.onFailure(TransportBulkAction.java:409) ~[elasticsearch-6.5.2.jar:6.5.2] adresu org.elasticsearch.action.support.TransportAction$1.onFailure(TransportAction.java:91) ~[elasticsearch-6.5.2.jar:6.5.2] adresu org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.finishAsFailed(TransportReplicationAction.java:901) ~[elasticsearch-6.5.2.jar :6.5.2] adresu org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockException(TransportReplicationAction.java:824) ~[ elasticsearch-6.5.2.jar:6.5.2] adresu org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockExceptions(TransportReplicationAction.java:812) ~[ elasticsearch-6.5.2.jar:6.5.2] adresu org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.doRun(TransportReplicationAction.java:710) ~[elasticsearch-6.5.2.jar:6.5.2] org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2] adresu org.elasticsearch.action.support.replication.TransportReplicationAction.doExecute(TransportReplicationAction.java:169) ~[elasticsearch-6.5.2.jar:6.5.2] adresu org.elasticsearch.action.support.replication.TransportReplicationAction.doExecute(TransportReplicationAction.java:97) ~[elasticsearch-6.5.2.jar:6.5.2] adresu org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:167) ~[elasticsearch-6.5.2.jar:6.5.2] org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.apply(SecurityActionFilter.java:126) ~[?:?] adresu org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:165) ~[elasticsearch-6.5.2.jar:6.5.2] adresu org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:139) ~[elasticsearch-6.5.2.jar:6.5.2] adresu org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2] adresu org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation.doRun(TransportBulkAction.java:384) ~[elasticsearch-6.5.2.jar:6.5.2] org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2] adresu org.elasticsearch.action.bulk.TransportBulkAction.executeBulk(TransportBulkAction.java:496) ~[elasticsearch-6.5.2.jar:6.5.2] adresu org.elasticsearch.action.bulk.TransportBulkAction.executeIngestAndBulk(TransportBulkAction.java:243) ~[elasticsearch-6.5.2.jar:6.5.2] adresu org.elasticsearch.action.bulk.TransportBulkAction.doExecute(TransportBulkAction.java:169) ~[elasticsearch-6.5.2.jar:6.5.2] adresu org.elasticsearch.action.bulk.TransportBulkAction.lambda$processBulkIndexIngestRequest$4(TransportBulkAction.java:549) ~[elasticsearch-6.5.2.jar:6.5.2] adresu org.elasticsearch.ingest.IngestService$4.doRun(IngestService.java:417) [elasticsearch-6.5.2.jar:6.5.2] adresu org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:723) [elasticsearch-6.5.2.jar:6.5.2] org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-6.5.2.jar:6.5.2] adresu java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222] java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222] java.lang.Thread.run(Thread.java:748) [?:1.8.0_222] Sukėlė: org.elasticsearch.cluster.block.ClusterBlockException: blokavo: [FORBIDDEN/12/index read-only / allow delete (api)]; adresu org.elasticsearch.cluster.block.ClusterBlocks.indexBlockedException(ClusterBlocks.java:183) ~[elasticsearch-6.5.2.jar:6.5.2] adresu org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockExceptions(TransportReplicationAction.java:810) ~[ elasticsearch-6.5.2.jar:6.5.2] ... 21 daugiau
Atlikus analizę nustatyta, kad taip buvo dėl to, kadServerio, kuriame yra ES, disko vietos per mažai, kai bet koks indeksas su viena ar daugiau skeveldrų priskiriamas disko mazgui, kuriame saugoma daugiau nei 95 % duomenų, indeksas bus priverstas įjungti tik skaitymo režimą.
Peržiūrėkite visą indekso nustatymų informaciją, kurią norite aplankyti:Hipersaito prisijungimas matomas., kaip parodyta toliau pateiktame paveikslėlyje:
"žinios" : { "nustatymai" : { "indeksas" : { "number_of_shards" : "3", "blokai" : { "read_only_allow_delete" : "tiesa" }, "provided_name" : "žinios", "creation_date" : "1576206251443", "number_of_replicas" : "0", "uuid": "yeSIP_otQo6JQ8ooRdr8hA", "versija" : { "created" : "6050299" } } } } read_only_allow_deleteKai šis požymis teisingas, ekosisteminių paslaugų indeksas leidžia tik skaityti ir ištrinti duomenis, o ne pridėti ar keisti duomenų
sprendimas
Išsprendę disko problemą, išplėskite arba ištrinkite nepageidaujamus failus, vadovaukitės toliau pateikta pamoka.
Nustatyti read_only_allow_delete į false
Siųskite įdėjimo užklausą naudodami elasticsearch-head:Hipersaito prisijungimas matomas., kaip parodyta toliau pateiktame paveikslėlyje:
{ "pripažinta": teisinga
}
Tai vis dar negali atsikratyti Redo sveikatos būklės,Tiesiogiai ištrinkite ".monitoring-es-6-*" duomenis, būsena tampa sveika, kaip parodyta paveikslėlyje žemiau:
(Pabaiga)
|