Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 14418|Atsakyti: 2

"Elasticsearch" (ES) klasterio būklė: raudona Gedimų analizė

[Kopijuoti nuorodą]
Paskelbta 2021-1-27 23:08:07 | | | |
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ą.

"CentOS" skaičiuoja kiekvieną aplanko dydį ir ieško didelių failų
https://www.itsvse.com/thread-9542-1-1.html
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)




Ankstesnis:"CentOS" skaičiuoja kiekvieną aplanko dydį ir ieško didelių failų
Kitą:"Elasticsearch" (ES) klasterio būklė: geltona (6 iš 7) būsena
 Savininkas| Publikuota: 2021-6-15 11:22:58 |
-- Peržiūrėti visas indekso būsenas

Hipersaito prisijungimas matomas.

-- Peržiūrėti indeksus, kurių būsena yra raudona
Hipersaito prisijungimas matomas.

Dokumentacija:Hipersaito prisijungimas matomas.

 Savininkas| Publikuota: 2023-4-17 12:12:32 |
"Elasticsearch" (ES) nepavyksta įrašyti duomenų į gedimo sprendimą
https://www.itsvse.com/thread-10568-1-1.html
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com