Met het elasticsearch-head-paneel om verbinding te maken met Elasticsearch(ES) vond ik de volgende foutmelding:
Cluster Gezondheid: rood (24 van 31)
Om statusinformatie te bekijken, bezoek:De hyperlink-login is zichtbaar.
{ "cluster_name" : "elasticsearch", "status": "rood", "timed_out" : onwaar, "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" : "rood"De status is leeg
De head-plugin wordt in verschillende kleuren weergegeven
1) Groen - de gezondste staat, wat betekent dat alle primaire en replica-scherven beschikbaar zijn; 2) Geel - alle primaire scherven zijn beschikbaar, maar sommige replica-scherven zijn niet beschikbaar; 3) Rood - Sommige primaire scherven zijn niet beschikbaar. (Op dit moment kunnen er nog wat gegevens worden gevonden bij het uitvoeren van de query, dus het is beter om het snel op te lossen.) )
Om de indexstatus te bekijken, raadpleeg:De hyperlink-login is zichtbaar.
.monitoring-es-6-2021.01.22 0 p NIET toegewezen ALLOCATION_FAILED Wat is niet-toegewezen sharding?
Uitleg in één zin: Niet-toegewezen scherven. Bij het starten van ES zul je merken dat de clusterscherven paars, grijs en uiteindelijk groen verschijnen na het constant verversen via de Head-plug-in.
Waarom vindt niet-toegewezen sharding plaats?
Als je bijvoorbeeld geen shards kunt toewijzen, als je het aantal replica-shards hebt oververdeeld voor het aantal nodes in de cluster, blijven de shards ONTOEGEWEZEN. De foutcode is: ALLOCATION_FAILED.
Mogelijke oorzaken van problemen met niet-toegewezen sharding?
1) INDEX_CREATED: Niet toegewezen vanwege de API die de index heeft gemaakt. 2) CLUSTER_RECOVERED: Niet toegewezen vanwege volledige clusterherstel. 3) INDEX_REOPENED: Niet toegewezen vanwege het openen of sluiten van een index. 4) DANGLING_INDEX_IMPORTED: Niet toegewezen vanwege het importeren van de hangende index. 5) NEW_INDEX_RESTORED: Niet toegewezen vanwege het terugkeren naar een nieuwe index. 6) EXISTING_INDEX_RESTORED: Niet toegewezen vanwege het terugkeren naar een gesloten index. 7) REPLICA_ADDED: Niet toegewezen vanwege expliciet toevoeging van replica-scherven. 8) ALLOCATION_FAILED: Niet toegewezen vanwege een storing in shard-allocatie. 9) NODE_LEFT: De knoop die de shard draagt verlaat de cluster en wordt niet toegewezen. 10) OPNIEUW GEINITIALISEERD: Door niet-toegewezen shards bij het overschakelen van start naar initialisatie (bijvoorbeeld sharden met shadow shadow kopieën). 11) REROUTE_CANCELLED: Uitzenden als gevolg van een expliciet ontzeilingscommando. 12) REALLOCATED_REPLICA: Bepaal dat een betere replicalocatie is gekalibreerd voor gebruik, wat resulteert in het annuleren van bestaande kopietoewijzing en het ontbinden van toewijzing.
Log in op de server en bekijk de Elasticsearch (ES) logs als volgt:
Elasticsearch geeft veel logs uit, allemaal in de ES_HOME/logs-directory. Het standaard loggingniveau is INFO. Het biedt matige informatie, maar is ontworpen om je logs niet te overbelasten. De hyperlink-login is zichtbaar.
Er zijn veel fouten zoals:
[2021-01-21T03:33:26,435] [WAARSCHUW] [o.e.x.m.e.l.LocalExporter] [A_OefhJ] onverwachte fout bij het indexeren van monitoringsdocument
org.elasticsearch.xpack.monitoring.exporter.ExportException: ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];] op org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$throwExportException$2(LocalBulk.java:128) ~[?:?] op 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] op java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) ~[?:1.8.0_222] op java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[?:1.8.0_222] op 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] op java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485) ~[?:1.8.0_222] op org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.throwExportException(LocalBulk.java:129) ~[?:?] op org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$doFlush$0(LocalBulk.java:111) ~[?:?] op org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2] op org.elasticsearch.action.support.ContextPreservingActionListener.onResponse(ContextPreservingActionListener.java:43) ~[elasticsearch-6.5.2.jar:6.5.2] op org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:85) ~[elasticsearch-6.5.2.jar:6.5.2] op org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2] op org.elasticsearch.action.bulk.TransportBulkAction$BulkRequestModifier.lambda$wrapActionListenerIfNeeded$0(TransportBulkAction.java:607) ~[elasticsearch-6.5.2.jar :6.5.2] op org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2] op org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.finishHim(TransportBulkAction.java:414) ~[elasticsearch-6.5.2.jar:6.5.2] op org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.onFailure(TransportBulkAction.java:409) ~[elasticsearch-6.5.2.jar:6.5.2] op 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] op org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockException(TransportReplicationAction.java:824) ~[ elasticsearch-6.5.2.jar:6.5.2] op 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] op 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] op org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:167) ~[elasticsearch-6.5.2.jar:6.5.2] op org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.apply(SecurityActionFilter.java:126) ~[?:?] op org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:165) ~[elasticsearch-6.5.2.jar:6.5.2] op org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:139) ~[elasticsearch-6.5.2.jar:6.5.2] op org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2] op org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation.doRun(TransportBulkAction.java:384) ~[elasticsearch-6.5.2.jar:6.5.2] op org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2] op org.elasticsearch.action.bulk.TransportBulkAction.executeBulk(TransportBulkAction.java:496) ~[elasticsearch-6.5.2.jar:6.5.2] op org.elasticsearch.action.bulk.TransportBulkAction.executeIngestAndBulk(TransportBulkAction.java:243) ~[elasticsearch-6.5.2.jar:6.5.2] op org.elasticsearch.action.bulk.TransportBulkAction.doExecute(TransportBulkAction.java:169) ~[elasticsearch-6.5.2.jar:6.5.2] op org.elasticsearch.action.bulk.TransportBulkAction.lambda$processBulkIndexIngestRequest$4(TransportBulkAction.java:549) ~[elasticsearch-6.5.2.jar:6.5.2] op org.elasticsearch.ingest.IngestService$4.doRun(IngestService.java:417) [elasticsearch-6.5.2.jar:6.5.2] op org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:723) [elasticsearch-6.5.2.jar:6.5.2] op 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] op java.lang.Thread.run(Thread.java:748) [?:1.8.0_222] Veroorzaakt door: org.elasticsearch.cluster.block.ClusterBlockException: geblokkeerd door: [FORBIDDEN/12/index read-only / allow delete (api)]; op org.elasticsearch.cluster.block.ClusterBlocks.indexBlockedException(ClusterBlocks.java:183) ~[elasticsearch-6.5.2.jar:6.5.2] op org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockExceptions(TransportReplicationAction.java:810) ~[ elasticsearch-6.5.2.jar:6.5.2] ... Nog eens 21
Na analyse bleek dat het kwam doordatDe schijfruimte van de server waar de ES zich bevindt is te klein, zodra een index met één of meer shards is toegewezen aan een node in een schijf die meer dan 95% van de data opslaat, wordt de index gedwongen in alleen-lezen-modus te gaan.
Bekijk alle informatie over indexinstellingen om te bezoeken:De hyperlink-login is zichtbaar., zoals getoond in de onderstaande figuur:
"kennis" : { "settings" : { "index" : { "number_of_shards" : "3", "blokken" : { "read_only_allow_delete" : "waar" }, "provided_name" : "kennis", "creation_date" : "1576206251443", "number_of_replicas" : "0", "uuid": "yeSIP_otQo6JQ8ooRdr8hA", "versie" : { "gecreëerd" : "6050299" } } } } read_only_allow_deleteWanneer dit attribuut waar is, staat de ES-index alleen het lezen en verwijderen van data toe, en geen toevoeging of wijziging van gegevens
oplossing
Na het oplossen van het schijfprobleem vergroot of verwijder je ongewenste bestanden en volg je de onderstaande tutorial.
Zet read_only_allow_delete op false
Mag een put-verzoek versturen met elasticsearch-head:De hyperlink-login is zichtbaar., zoals getoond in de onderstaande figuur:
Dit kan Reds gezondheidstoestand nog steeds niet wegnemen,Verwijder direct de ".monitoring-es-6-*" data, wordt de toestand gezond, zoals getoond in de onderstaande figuur:
(Einde)
|