Elasticsearch iṣupọ 200 TB+

Elasticsearch iṣupọ 200 TB+

Ọpọlọpọ eniyan ni ija pẹlu Elasticsearch. Ṣugbọn kini yoo ṣẹlẹ nigbati o ba fẹ lo lati tọju awọn akọọlẹ “ni iwọn didun ti o tobi pupọ julọ”? Ati pe o tun jẹ irora lati ni iriri ikuna ti eyikeyi awọn ile-iṣẹ data pupọ bi? Iru faaji wo ni o yẹ ki o ṣe, ati awọn ipalara wo ni iwọ yoo kọsẹ lori?

A ni Odnoklassniki pinnu lati lo elasticsearch lati yanju ọran ti iṣakoso log, ati ni bayi a pin iriri wa pẹlu Habr: mejeeji nipa faaji ati nipa awọn ọfin.

Emi ni Pyotr Zaitsev, Mo ṣiṣẹ bi olutọju eto ni Odnoklassniki. Ṣaaju iyẹn, Mo tun jẹ alabojuto kan, ṣiṣẹ pẹlu wiwa Manticore, wiwa Sphinx, Elasticsearch. Boya, ti miiran ...wawa ba han, Emi yoo ṣiṣẹ pẹlu rẹ paapaa. Mo tun kopa ninu nọmba awọn iṣẹ akanṣe orisun ṣiṣi lori ipilẹ atinuwa.

Nigbati mo wa si Odnoklassniki, Mo sọ ni aibikita ni ifọrọwanilẹnuwo pe MO le ṣiṣẹ pẹlu Elasticsearch. Lẹhin ti Mo ni idorikodo ati pari awọn iṣẹ ṣiṣe ti o rọrun, a fun mi ni iṣẹ nla ti atunṣe eto iṣakoso log ti o wa ni akoko yẹn.

awọn ibeere

Awọn ibeere eto ti ṣe agbekalẹ bi atẹle:

  • Greylog yẹ ki o lo bi iwaju iwaju. Nitoripe ile-iṣẹ ti ni iriri tẹlẹ nipa lilo ọja yii, awọn pirogirama ati awọn oludanwo mọ ọ, o faramọ ati rọrun fun wọn.
  • Iwọn data: ni apapọ 50-80 ẹgbẹrun awọn ifiranṣẹ fun iṣẹju kan, ṣugbọn ti nkan ba ṣẹ, lẹhinna ijabọ naa ko ni opin nipasẹ ohunkohun, o le jẹ awọn laini 2-3 milionu fun iṣẹju kan.
  • Lẹhin ti o ti jiroro pẹlu awọn alabara awọn ibeere fun iyara ti awọn ibeere wiwa sisẹ, a rii pe apẹẹrẹ aṣoju ti lilo iru eto ni eyi: awọn eniyan n wa awọn akọọlẹ ohun elo wọn fun awọn ọjọ meji to kọja ati pe ko fẹ lati duro diẹ sii ju kan lọ. keji fun abajade ibeere ti a ṣe agbekalẹ.
  • Awọn alakoso tẹnumọ pe eto naa jẹ iwọn irọrun ti o ba jẹ dandan, laisi nilo wọn lati jinlẹ jinlẹ si bii o ṣe n ṣiṣẹ.
  • Nitorinaa iṣẹ ṣiṣe itọju nikan ti awọn eto wọnyi nilo lorekore ni lati yi awọn ohun elo kan pada.
  • Ni afikun, Odnoklassniki ni aṣa atọwọdọwọ imọ-ẹrọ to dara julọ: iṣẹ eyikeyi ti a ṣe ifilọlẹ gbọdọ ye ikuna ile-iṣẹ data kan (ojiji, airotẹlẹ ati Egba ni eyikeyi akoko).

Ibeere ti o kẹhin ninu imuse ti iṣẹ akanṣe yii jẹ iye owo wa pupọ julọ, eyiti Emi yoo sọrọ nipa ni awọn alaye diẹ sii.

Ayika ti

A ṣiṣẹ ni awọn ile-iṣẹ data mẹrin, lakoko ti awọn apa data Elasticsearch le wa ni mẹta nikan (fun nọmba awọn idi ti kii ṣe imọ-ẹrọ).

Awọn ile-iṣẹ data mẹrin wọnyi ni isunmọ 18 ẹgbẹrun oriṣiriṣi awọn orisun log - ohun elo, awọn apoti, awọn ẹrọ foju.

Ẹya pataki: iṣupọ bẹrẹ ni awọn apoti podman kii ṣe lori awọn ẹrọ ti ara, ṣugbọn lori ara awọsanma ọja ọkan-awọsanma. Awọn apoti jẹ iṣeduro awọn ohun kohun 2, iru si 2.0Ghz v4, pẹlu iṣeeṣe ti atunlo awọn ohun kohun to ku ti wọn ba ṣiṣẹ.

Ni awọn ọrọ miiran:

Elasticsearch iṣupọ 200 TB+

Topology

Mo kọkọ rii fọọmu gbogbogbo ti ojutu bi atẹle:

  • 3-4 VIPs wa sile A-igbasilẹ ti Greylog domain, yi ni awọn adirẹsi si eyi ti awọn àkọọlẹ ti wa ni rán.
  • kọọkan VIP jẹ ẹya LVS iwontunwonsi.
  • Lẹhin rẹ, awọn akọọlẹ lọ si batiri Graylog, diẹ ninu awọn data wa ni ọna kika GELF, diẹ ninu ni ọna kika syslog.
  • Lẹhinna gbogbo eyi ni a kọ sinu awọn ipele nla si batiri ti awọn alabojuto Elasticsearch.
  • Ati pe wọn, lapapọ, firanṣẹ kikọ ati ka awọn ibeere si awọn apa data ti o yẹ.

Elasticsearch iṣupọ 200 TB+

Ijinlẹ

Boya kii ṣe gbogbo eniyan loye awọn asọye ni awọn alaye, nitorinaa Emi yoo fẹ lati gbe lori rẹ diẹ.

Elasticsearch ni ọpọlọpọ awọn oriṣi awọn apa – titunto si, oluṣeto, ipade data. Awọn oriṣi meji miiran wa fun awọn iyipada log oriṣiriṣi ati ibaraẹnisọrọ laarin awọn iṣupọ oriṣiriṣi, ṣugbọn a lo awọn ti a ṣe akojọ nikan.

titunto si
O pingi gbogbo awọn apa ti o wa ninu iṣupọ, n ṣetọju maapu iṣupọ ti imudojuiwọn ati pinpin laarin awọn apa, awọn ilana kannaa iṣẹlẹ, ati ṣe ọpọlọpọ iru iṣupọ ile jakejado.

Alakoso
Ṣe iṣẹ-ṣiṣe kan ṣoṣo: gba kika tabi kọ awọn ibeere lati ọdọ awọn alabara ati awọn ipa-ọna ijabọ yii. Ti ibeere kikọ ba wa, o ṣee ṣe, yoo beere lọwọ oluwa kini shard ti atọka ti o yẹ ti o yẹ ki o fi sii, ati pe yoo ṣe atunṣe ibeere naa siwaju.

Data ipade
Tọju data, ṣe awọn ibeere wiwa ti o de lati ita ati ṣiṣe awọn iṣẹ lori awọn shards ti o wa lori rẹ.

Grẹlogi
Eyi jẹ nkan bi idapọ Kibana pẹlu Logstash ninu akopọ ELK kan. Graylog daapọ mejeeji UI ati opo gigun ti n ṣiṣẹ log. Labẹ awọn Hood, Graylog nṣiṣẹ Kafka ati Zookeeper, eyi ti o pese Asopọmọra si Graylog bi a iṣupọ. Graylog le kaṣe awọn akọọlẹ (Kafka) ni ọran ti Elasticsearch ko si ati tun ṣe aṣeyọri kika ati kikọ awọn ibeere, ẹgbẹ ati samisi awọn iforukọsilẹ ni ibamu si awọn ofin pato. Bii Logstash, Graylog ni iṣẹ ṣiṣe lati yipada awọn ori ila ṣaaju kikọ wọn si Elasticsearch.

Ni afikun, Graylog ni iṣawari iṣẹ ti a ṣe sinu eyiti o fun laaye, da lori ọkan ti o wa Elasticsearch node, lati gba gbogbo maapu iṣupọ ati ṣe àlẹmọ nipasẹ aami kan pato, eyiti o jẹ ki o ṣee ṣe lati taara awọn ibeere si awọn apoti kan pato.

Ni oju o dabi nkan bi eleyi:

Elasticsearch iṣupọ 200 TB+

Eyi jẹ sikirinifoto lati apẹẹrẹ kan pato. Nibi a kọ histogram kan ti o da lori ibeere wiwa ati ṣafihan awọn ori ila ti o yẹ.

Atọka

Pada si faaji eto, Emi yoo fẹ lati gbe ni alaye diẹ sii lori bii a ṣe kọ awoṣe atọka ki gbogbo rẹ ṣiṣẹ ni deede.

Ninu aworan atọka loke, eyi ni ipele ti o kere julọ: Awọn apa data Elasticsearch.

Atọka jẹ ohun elo foju nla ti o jẹ ti Elasticsearch shards. Ninu ara rẹ, ọkọọkan awọn shards ko jẹ nkan diẹ sii ju atọka Lucene lọ. Ati atọka Lucene kọọkan, lapapọ, ni ọkan tabi diẹ sii awọn abala.

Elasticsearch iṣupọ 200 TB+

Nigbati o ba n ṣe apẹrẹ, a ṣe akiyesi pe lati le pade ibeere fun iyara kika lori iye nla ti data, a nilo lati "tan kaakiri" data yii ni deede kọja awọn apa data.

Eyi yorisi ni otitọ pe nọmba awọn shards fun atọka (pẹlu awọn ẹda) yẹ ki o jẹ dogba deede si nọmba awọn apa data. Ni akọkọ, lati rii daju pe ifosiwewe ẹda kan dogba si meji (iyẹn ni, a le padanu idaji iṣupọ). Ati, keji, lati le ṣe ilana kika ati kikọ awọn ibeere lori o kere ju idaji iṣupọ naa.

A kọkọ pinnu akoko ipamọ bi awọn ọjọ 30.

Pipin awọn shards le jẹ aṣoju ni ayaworan bi atẹle:

Elasticsearch iṣupọ 200 TB+

Gbogbo dudu grẹy onigun jẹ ẹya atọka. Onigun pupa osi ti o wa ninu rẹ jẹ shard akọkọ, akọkọ ninu atọka. Ati onigun buluu jẹ shard ajọra. Wọn wa ni oriṣiriṣi awọn ile-iṣẹ data.

Nigba ti a ba ṣafikun shard miiran, o lọ si ile-iṣẹ data kẹta. Ati, ni ipari, a gba eto yii, eyiti o jẹ ki o ṣee ṣe lati padanu DC laisi sisọnu aitasera data:

Elasticsearch iṣupọ 200 TB+

Yiyi ti awọn atọka, i.e. ṣiṣẹda atọka tuntun ati piparẹ eyi ti o dagba julọ, a jẹ ki o dọgba si awọn wakati 48 (gẹgẹbi ilana ti lilo atọka: awọn wakati 48 to kẹhin ti wa ni igbagbogbo).

Aarin yiyi atọka yii jẹ nitori awọn idi wọnyi:

Nigbati ibeere wiwa ba de ibi ipade data kan pato, lẹhinna, lati oju wiwo iṣẹ, o jẹ ere diẹ sii nigbati a ba beere shard kan, ti iwọn rẹ ba jẹ afiwera si iwọn ibadi ipade naa. Eyi n gba ọ laaye lati tọju apakan “gbona” ti atọka ni okiti kan ati ki o yara wọle si. Nigbati ọpọlọpọ awọn “awọn ẹya gbigbona” ba wa, iyara wiwa atọka dinku.

Nigbati ipade kan ba bẹrẹ ṣiṣe ibeere wiwa lori shard kan, o pin nọmba awọn okun ti o dọgba si nọmba awọn ohun kohun hyperthreading ti ẹrọ ti ara. Ti ibeere wiwa ba kan nọmba nla ti shards, lẹhinna nọmba awọn okun gbooro ni iwọn. Eyi ni ipa odi lori iyara wiwa ati ni odi ni ipa lori titọka ti data tuntun.

Lati pese lairi wiwa pataki, a pinnu lati lo SSD kan. Lati ṣe ilana awọn ibeere ni kiakia, awọn ẹrọ ti o gbalejo awọn apoti wọnyi ni lati ni o kere ju awọn ohun kohun 56. Nọmba ti 56 ni a yan gẹgẹbi iye to ni majemu ti o pinnu nọmba awọn okun ti Elasticsearch yoo ṣe ipilẹṣẹ lakoko iṣẹ. Ninu Elasitcsearch, ọpọlọpọ awọn ipilẹ adagun okun okun taara da lori nọmba awọn ohun kohun ti o wa, eyiti o kan taara nọmba awọn apa ti o nilo ninu iṣupọ ni ibamu si ipilẹ “awọn ohun kohun diẹ - awọn apa diẹ sii”.

Bi abajade, a rii pe ni apapọ shard kan wọn nipa 20 gigabytes, ati pe awọn shards 1 wa fun atọka kan. Nitorinaa, ti a ba yi wọn pada lẹẹkan ni gbogbo wakati 360, lẹhinna a ni 48 ninu wọn. Atọka kọọkan ni data fun awọn ọjọ 15.

Data kikọ ati kika iyika

Jẹ ká ro ero jade bi data ti wa ni gba silẹ ti ni yi eto.

Jẹ ki a sọ pe diẹ ninu ibeere de lati Graylog si olutọju. Fun apẹẹrẹ, a fẹ lati ṣe atọka 2-3 ẹgbẹrun awọn ori ila.

Alakoso, lẹhin ti o ti gba ibeere lati ọdọ Graylog, beere lọwọ oluwa naa: “Ninu ibeere titọka, a ṣalaye atọka kan pato, ṣugbọn ninu eyiti shard lati kọ ko ṣe pato.”

Ọga naa dahun: “Kọ alaye yii si nọmba shard 71,” lẹhin eyi o ti firanṣẹ taara si ipade data ti o yẹ, nibiti nọmba shard akọkọ 71 wa.

Lẹhin eyi ti akọọlẹ idunadura naa ti tun ṣe si ajọra-shard, eyiti o wa ni ile-iṣẹ data miiran.

Elasticsearch iṣupọ 200 TB+

Ibeere wiwa kan de lati Graylog si olutọju. Alakoso ṣe atunṣe rẹ ni ibamu si atọka, lakoko ti Elasticsearch pin kaakiri awọn ibeere laarin shard akọkọ ati ajọra-shard nipa lilo ilana iyipo-robin.

Elasticsearch iṣupọ 200 TB+

Awọn apa 180 dahun ni aiṣedeede, ati lakoko ti wọn n dahun, oluṣakoso n ṣajọ alaye ti o ti “tu jade” tẹlẹ nipasẹ awọn apa data yiyara. Lẹhin eyi, nigbati boya gbogbo alaye ti de, tabi ibeere naa ti de opin akoko, o fun ohun gbogbo taara si alabara.

Gbogbo eto yii ni apapọ awọn ilana wiwa awọn ibeere fun awọn wakati 48 to kẹhin ni 300-400ms, laisi awọn ibeere wọnyẹn pẹlu kaadi ijuwe ti o jẹ asiwaju.

Awọn ododo pẹlu Elasticsearch: Java setup

Elasticsearch iṣupọ 200 TB+

Lati jẹ ki gbogbo rẹ ṣiṣẹ ni ọna ti a fẹ ni akọkọ, a lo akoko pipẹ pupọ ti n ṣatunṣe aṣiṣe ọpọlọpọ awọn nkan ninu iṣupọ.

Apa akọkọ ti awọn iṣoro ti a ṣe awari ni ibatan si ọna Java ti tunto tẹlẹ nipasẹ aiyipada ni Elasticsearch.

Isoro kan
A ti rii nọmba ti o tobi pupọ ti awọn ijabọ pe ni ipele Lucene, nigbati awọn iṣẹ abẹlẹ n ṣiṣẹ, awọn akojọpọ Lucene kuna pẹlu aṣiṣe kan. Ni akoko kanna, o han gbangba ninu awọn akọọlẹ pe eyi jẹ aṣiṣe OutOfMemoryError. A ri lati telemetry pe ibadi jẹ ọfẹ, ati pe ko ṣe kedere idi ti iṣẹ abẹ yii fi kuna.

O wa ni jade wipe Lucene atọka merges waye ni ita ibadi. Ati awọn apoti ti wa ni opin muna ni awọn ofin ti awọn orisun ti o jẹ. Òkiti nikan ni o le wọ inu awọn orisun wọnyi (iye heap.size jẹ isunmọ dogba si Ramu), ati diẹ ninu awọn iṣẹ apanirun ti kọlu pẹlu aṣiṣe ipin iranti ti o ba jẹ fun idi kan wọn ko baamu si ~ 500MB ti o wa ṣaaju opin.

Atunṣe jẹ ohun kekere: iye Ramu ti o wa fun eiyan ti pọ si, lẹhin eyi a gbagbe pe a paapaa ni iru awọn iṣoro bẹ.

Isoro meji
Awọn ọjọ 4-5 lẹhin ifilọlẹ iṣupọ, a ṣe akiyesi pe awọn apa data bẹrẹ si ṣubu lorekore lati inu iṣupọ ati tẹ sii lẹhin awọn aaya 10-20.

Nigba ti a bẹrẹ lati ro ero rẹ, o han pe iranti pipa-okiti ni Elasticsearch ko ni iṣakoso ni eyikeyi ọna. Nigba ti a ba fun iranti diẹ sii si eiyan, a ni anfani lati kun awọn adagun-itumọ taara taara pẹlu ọpọlọpọ alaye, ati pe o ti sọ di mimọ nikan lẹhin ti a ṣe ifilọlẹ GC ti o fojuhan lati Elasticsearch.

Ni awọn igba miiran, isẹ yii gba akoko pipẹ pupọ, ati ni akoko yii iṣupọ ṣakoso lati samisi ipade yii bi o ti jade tẹlẹ. Iṣoro yii jẹ apejuwe daradara Nibi.

Ojutu naa jẹ bi atẹle: a ni opin agbara Java lati lo ọpọlọpọ iranti ni ita okiti fun awọn iṣẹ wọnyi. A ni opin si gigabytes 16 (-XX: MaxDirectMemorySize=16g), ni idaniloju pe GC ti o fojuhan ni a pe ni igbagbogbo pupọ ati ṣiṣe ni iyara pupọ, nitorinaa ko ṣe diduro iṣupọ mọ.

Isoro mẹta
Ti o ba ro pe awọn iṣoro pẹlu “awọn apa ti nlọ iṣupọ ni akoko airotẹlẹ julọ” ti pari, o jẹ aṣiṣe.

Nigba ti a ba tunto iṣẹ pẹlu awọn atọka, a yan mmapfs lati din search akoko lori alabapade shards pẹlu nla ipin. Eleyi je oyimbo kan blunder, nitori nigba lilo mmapfs awọn faili ti wa ni ya aworan sinu Ramu, ati ki o si a ṣiṣẹ pẹlu awọn ya aworan. Nitori eyi, o wa ni pe nigbati GC ba gbiyanju lati da awọn okun duro ninu ohun elo naa, a lọ si ibi aabo fun igba pipẹ, ati ni ọna ti o lọ, ohun elo naa dẹkun idahun si awọn ibeere oluwa nipa boya o wa laaye. . Nitorinaa, oluwa gbagbọ pe ipade ko si ninu iṣupọ mọ. Lẹhin eyi, lẹhin awọn aaya 5-10, agbasọ idoti n ṣiṣẹ, ipade naa wa si igbesi aye, wọ inu iṣupọ naa lẹẹkansi ati bẹrẹ ipilẹṣẹ awọn shards. Gbogbo rẹ ni imọlara pupọ bi “iṣelọpọ ti a tọsi” ati pe ko dara fun ohunkohun to ṣe pataki.

Lati yọ kuro ninu ihuwasi yii, a kọkọ yipada si awọn niofs boṣewa, ati lẹhinna, nigba ti a lọ lati awọn ẹya karun ti Elastic si ẹkẹfa, a gbiyanju awọn arabara, nibiti a ko tun ṣe iṣoro yii. O le ka diẹ ẹ sii nipa awọn iru ipamọ nibi.

Isoro mẹrin
Lẹhinna iṣoro miiran ti o nifẹ pupọ wa ti a ṣe itọju fun akoko igbasilẹ kan. A mu fun awọn oṣu 2-3 nitori ilana rẹ ko ni oye rara.

Nigba miiran awọn alakoso wa lọ si Full GC, nigbagbogbo lẹhin igbati ounjẹ ọsan, ati pe ko pada lati ibẹ. Ni akoko kanna, nigbati o wọle si idaduro GC, o dabi eyi: ohun gbogbo n lọ daradara, daradara, daradara, ati lẹhinna lojiji ohun gbogbo n lọ daradara.

Ni akọkọ a ro pe a ni olumulo buburu kan ti o ṣe ifilọlẹ iru ibeere kan ti o lu oluṣakoso naa kuro ni ipo iṣẹ. A wọle awọn ibeere fun igba pipẹ pupọ, ni igbiyanju lati ṣawari ohun ti n ṣẹlẹ.

Bii abajade, o jẹ pe ni akoko ti olumulo kan ṣe ifilọlẹ ibeere nla kan, ati pe o de ọdọ oluṣakoso Elasticsearch kan pato, awọn apa kan dahun gun ju awọn miiran lọ.

Ati pe lakoko ti olutọju naa n duro de idahun lati gbogbo awọn apa, o ṣajọ awọn esi ti a firanṣẹ lati awọn apa ti o ti dahun tẹlẹ. Fun GC, eyi tumọ si pe awọn ilana lilo okiti wa yipada ni iyara pupọ. Ati GC ti a lo ko le koju iṣẹ yii.

Atunṣe kan ṣoṣo ti a rii lati yi ihuwasi ti iṣupọ pada ni ipo yii ni iṣiwa si JDK13 ati lilo agbajo idoti Shenandoah. Eyi yanju iṣoro naa, awọn alakoso wa dẹkun ja bo.

Eyi ni ibiti awọn iṣoro pẹlu Java pari ati awọn iṣoro bandiwidi bẹrẹ.

"Berry" pẹlu Elasticsearch: losi

Elasticsearch iṣupọ 200 TB+

Awọn iṣoro pẹlu iṣelọpọ tumọ si pe iṣupọ wa n ṣiṣẹ ni iduroṣinṣin, ṣugbọn ni awọn oke giga ni nọmba awọn iwe aṣẹ atọka ati lakoko awọn adaṣe, iṣẹ ṣiṣe ko to.

Awọn ami aisan akọkọ ti o pade: lakoko diẹ ninu awọn “awọn bugbamu” ni iṣelọpọ, nigbati nọmba ti o tobi pupọ ti awọn akọọlẹ ti ipilẹṣẹ lojiji, aṣiṣe atọka es_rejected_execution bẹrẹ lati filasi nigbagbogbo ni Graylog.

Eyi jẹ nitori otitọ pe thread_pool.write.queue lori ipade data kan, titi di akoko ti Elasticsearch le ṣe ilana ibeere titọka ati gbejade alaye naa si shard lori disiki, ni anfani lati kaṣe awọn ibeere 200 nikan nipasẹ aiyipada. Ati ninu Elasticsearch iwe Pupọ pupọ ni a sọ nipa paramita yii. Nikan nọmba ti o pọju ti awọn okun ati iwọn aiyipada ni itọkasi.

Nitoribẹẹ, a lọ lati yi iye yii pada ati rii atẹle naa: ni pataki, ninu iṣeto wa, to awọn ibeere 300 ti wa ni ipamọ daradara, ati pe iye ti o ga julọ jẹ pẹlu otitọ pe a tun fo sinu GC ni kikun.

Ni afikun, niwọn bi iwọnyi jẹ awọn ipele ti awọn ifiranṣẹ ti o de laarin ibeere kan, o jẹ dandan lati tweak Graylog ki o ko kọwe nigbagbogbo ati ni awọn ipele kekere, ṣugbọn ni awọn ipele nla tabi lẹẹkan ni gbogbo iṣẹju-aaya 3 ti ipele naa ko ba ti pari. Ni idi eyi, o wa ni pe alaye ti a kọ ni Elasticsearch di ko si ni iṣẹju-aaya meji, ṣugbọn ni marun (eyiti o baamu wa daradara), ṣugbọn nọmba awọn atunṣe ti o ni lati ṣe lati Titari nipasẹ nla kan. akopọ ti alaye ti wa ni dinku.

Eyi ṣe pataki ni pataki ni awọn akoko wọnyẹn nigbati nkan kan ti kọlu ni ibikan ati awọn ijabọ ibinu nipa rẹ, ki o má ba gba Elastic spammed patapata, ati lẹhin igba diẹ - awọn apa Graylog ti ko ṣiṣẹ nitori awọn buffers clogged.

Ni afikun, nigba ti a ni awọn bugbamu kanna ni iṣelọpọ, a gba awọn ẹdun ọkan lati ọdọ awọn pirogirama ati awọn idanwo: ni akoko ti wọn nilo awọn akọọlẹ wọnyi gaan, a fun wọn ni laiyara pupọ.

Wọn bẹrẹ lati ro ero rẹ. Ni apa kan, o han gbangba pe awọn ibeere wiwa mejeeji ati awọn ibeere atọka ni a ṣe ilana, ni pataki, lori awọn ẹrọ ti ara kanna, ati ni ọna kan tabi omiiran yoo wa awọn iyaworan kan.

Ṣugbọn eyi le jẹ iyipo ni apakan nitori otitọ pe ni awọn ẹya kẹfa ti Elasticsearch, algorithm kan han ti o fun ọ laaye lati kaakiri awọn ibeere laarin awọn apa data ti o yẹ kii ṣe ni ibamu si ipilẹ iyipo-robin laileto (eiyan ti o ṣe atọka ati dimu akọkọ. -shard le jẹ o nšišẹ pupọ, kii yoo si ọna lati dahun ni kiakia), ṣugbọn lati firanṣẹ ibeere yii si apoti ti kojọpọ ti o kere ju pẹlu shard ajọra, eyiti yoo dahun ni iyara pupọ. Ni awọn ọrọ miiran, a de si use_adaptive_replica_selection: ootọ.

Aworan kika bẹrẹ lati wo bi eleyi:

Elasticsearch iṣupọ 200 TB+

Iyipada si algoridimu yii jẹ ki o ṣee ṣe lati ni ilọsiwaju akoko ibeere ni pataki ni awọn akoko yẹn nigba ti a ni ṣiṣan nla ti awọn igbasilẹ lati kọ.

Nikẹhin, iṣoro akọkọ ni yiyọkuro ti ko ni irora ti ile-iṣẹ data.

Ohun ti a fẹ lati iṣupọ lẹsẹkẹsẹ lẹhin sisọnu asopọ pẹlu DC kan:

  • Ti a ba ni oluwa lọwọlọwọ ni ile-iṣẹ data ti o kuna, lẹhinna o yoo tun yan ati gbe bi ipa kan si ipade miiran ni DC miiran.
  • Ọga naa yoo yara yọ gbogbo awọn apa ti ko wọle kuro ninu iṣupọ naa.
  • Da lori awọn ti o ku, oun yoo loye: ni ile-iṣẹ data ti o sọnu a ni iru ati iru awọn shards akọkọ, oun yoo ṣe agbega awọn shards ti o ni ibamu ni awọn ile-iṣẹ data ti o ku, ati pe a yoo tẹsiwaju titọka data naa.
  • Bi abajade eyi, kikọ iṣupọ ati kika kika yoo dinku diẹdiẹ, ṣugbọn ni gbogbogbo ohun gbogbo yoo ṣiṣẹ, botilẹjẹpe laiyara, ṣugbọn iduroṣinṣin.

Bi o ti wa ni jade, a fẹ nkankan bi eyi:

Elasticsearch iṣupọ 200 TB+

Ati pe a ni nkan wọnyi:

Elasticsearch iṣupọ 200 TB+

Bawo ni eyi ṣe ṣẹlẹ?

Nigbati ile-iṣẹ data ṣubu, oluwa wa di igo.

Почему?

Otitọ ni pe oluwa ni TaskBatcher, eyiti o jẹ iduro fun pinpin awọn iṣẹ-ṣiṣe ati awọn iṣẹlẹ kan ninu iṣupọ. Ijade ipade eyikeyi, eyikeyi igbega ti shard lati ajọra si akọkọ, eyikeyi iṣẹ-ṣiṣe lati ṣẹda shard kan ni ibikan - gbogbo eyi n lọ ni akọkọ si TaskBatcher, nibiti o ti ṣe ilana lẹsẹsẹ ati ni okun kan.

Ni akoko yiyọkuro ti ile-iṣẹ data kan, o han pe gbogbo awọn apa data ni awọn ile-iṣẹ data ti o ye wa ka pe o jẹ ojuṣe wọn lati sọ fun oluwa “a ti padanu iru ati iru awọn shards ati iru ati iru awọn apa data.”

Ni akoko kanna, awọn apa data ti o wa laaye fi gbogbo alaye yii ranṣẹ si oluwa lọwọlọwọ ati gbiyanju lati duro fun idaniloju pe o gba. Wọn ko duro de eyi, nitori oluwa gba awọn iṣẹ ṣiṣe ni iyara ju bi o ti le dahun lọ. Awọn apa akoko jade awọn ibeere atunwi, ati oluwa ni akoko yii ko paapaa gbiyanju lati dahun wọn, ṣugbọn o gba gbogbo iṣẹ ṣiṣe ti yiyan awọn ibeere nipasẹ pataki.

Ni fọọmu ebute, o wa ni pe awọn apa data ṣe spammed oluwa si aaye ti o lọ sinu GC ni kikun. Lẹhin iyẹn, ipa oluwa wa lọ si iboji ti o tẹle, Egba ohun kan naa ṣẹlẹ si i, ati nitori abajade iṣupọ naa ṣubu patapata.

A mu awọn wiwọn, ati ṣaaju ẹya 6.4.0, nibiti eyi ti ṣe atunṣe, o to fun wa lati ṣe agbejade awọn apa data 10 nikan lati 360 lati le pa iṣupọ naa patapata.

O dabi nkan bi eyi:

Elasticsearch iṣupọ 200 TB+

Lẹhin ti ikede 6.4.0, nibiti a ti ṣeto kokoro ẹru yii, awọn apa data duro pipa oluwa naa. Àmọ́ ìyẹn ò jẹ́ kí ó “lóye jù.” Eyun: nigba ti a ba jade 2, 3 tabi 10 (eyikeyi nọmba miiran ju ọkan) data apa, titunto si gba diẹ ninu awọn akọkọ ifiranṣẹ ti o so wipe ipade A ti osi, ati ki o gbiyanju lati so fun ipade B, ipade C nipa yi, ipade D.

Ati ni akoko yii, eyi le ṣee ṣe pẹlu nipa siseto akoko-akoko fun awọn igbiyanju lati sọ fun ẹnikan nipa nkan kan, ti o dọgba si awọn aaya 20-30, ati nitorinaa ṣakoso iyara ti ile-iṣẹ data ti n jade kuro ninu iṣupọ.

Ni opo, eyi ni ibamu si awọn ibeere ti a ṣafihan ni ibẹrẹ si ọja ikẹhin gẹgẹbi apakan ti iṣẹ akanṣe, ṣugbọn lati oju-ọna ti “imọ-jinlẹ mimọ” eyi jẹ kokoro. Ewo, nipasẹ ọna, ni aṣeyọri nipasẹ awọn olupilẹṣẹ ni ẹya 7.2.

Pẹlupẹlu, nigbati ipade data kan jade, o han pe pinpin alaye nipa ijade rẹ ṣe pataki ju sisọ fun gbogbo iṣupọ pe iru ati iru awọn shards akọkọ wa lori rẹ (lati le ṣe igbega ajọra-shard kan ninu data miiran aarin ni akọkọ, ati ni alaye le wa ni kikọ lori wọn).

Nitorinaa, nigbati ohun gbogbo ba ti ku tẹlẹ, awọn apa data ti a tu silẹ ko ni samisi lẹsẹkẹsẹ bi stale. Nitorinaa, a fi agbara mu lati duro titi gbogbo awọn pings yoo fi pari si awọn apa data ti a tu silẹ, ati pe lẹhin iyẹn iṣupọ wa bẹrẹ lati sọ fun wa pe nibẹ, nibẹ, ati pe nibẹ a nilo lati tẹsiwaju alaye gbigbasilẹ. O le ka diẹ sii nipa eyi nibi.

Bi abajade, iṣẹ ti yiyọkuro ile-iṣẹ data loni gba wa nipa awọn iṣẹju 5 lakoko wakati iyara. Fun iru kan ti o tobi ati clumsy colossus, eyi jẹ abajade to dara julọ.

Bi abajade, a wa si ipinnu wọnyi:

  • A ni awọn apa data 360 pẹlu awọn disiki gigabyte 700.
  • 60 coordinators fun afisona ijabọ nipasẹ awọn kanna data apa.
  • Awọn ọga 40 ti a ti fi silẹ gẹgẹbi iru ohun-iní lati awọn ẹya ṣaaju 6.4.0 - lati le ye yiyọkuro ti ile-iṣẹ data, a ti murasilẹ ni ọpọlọ lati padanu awọn ẹrọ pupọ lati le ni iṣeduro lati ni apejọ awọn ọga paapaa ni iṣẹlẹ ti o buru julọ
  • Awọn igbiyanju eyikeyi lati darapo awọn ipa lori apoti kan ni a pade pẹlu otitọ pe laipẹ tabi ya ipade naa yoo fọ labẹ ẹru.
  • Gbogbo iṣupọ naa nlo heap.size ti 31 gigabytes: gbogbo awọn igbiyanju lati dinku iwọn naa yorisi boya pipa diẹ ninu awọn apa lori awọn ibeere wiwa ti o wuwo pẹlu kaadi nla ti oludari tabi gbigba fifọ Circuit ni Elasticsearch funrararẹ.
  • Ni afikun, lati rii daju iṣẹ wiwa, a gbiyanju lati tọju nọmba awọn nkan ti o wa ninu iṣupọ bi o ti ṣee ṣe, lati le ṣe ilana bi awọn iṣẹlẹ diẹ bi o ti ṣee ni igo ti a gba ninu oluwa.

Níkẹyìn nipa monitoring

Lati rii daju pe gbogbo eyi ṣiṣẹ bi a ti pinnu, a ṣe atẹle atẹle naa:

  • Oju ipade data kọọkan ṣe ijabọ si awọsanma wa pe o wa, ati pe iru ati iru awọn shards wa lori rẹ. Nigbati a ba pa nkan kan ni ibikan, iṣupọ naa ṣe ijabọ lẹhin iṣẹju-aaya 2-3 pe ni aarin A a pa awọn apa 2, 3, ati 4 - eyi tumọ si pe ni awọn ile-iṣẹ data miiran a labẹ ọran kankan ko le pa awọn apa wọnyẹn lori eyiti shard kan wa. osi.
  • Mọ iru ihuwasi titunto si, a wo ni pẹkipẹki ni nọmba awọn iṣẹ-ṣiṣe ni isunmọtosi. Nitoripe paapaa iṣẹ-ṣiṣe kan ti o di, ti ko ba ni akoko ni akoko, imọ-ọrọ ni diẹ ninu awọn ipo pajawiri le di idi ti, fun apẹẹrẹ, igbega ti shard ajọra ni akọkọ ko ṣiṣẹ, eyiti o jẹ idi ti atọka yoo da iṣẹ duro.
  • A tun wo ni pẹkipẹki ni awọn idaduro agbo-idọti, nitori a ti ni awọn iṣoro nla tẹlẹ pẹlu eyi lakoko iṣapeye.
  • Kọ nipa o tẹle ara lati ni oye ilosiwaju ibi ti awọn bottleneck jẹ.
  • O dara, awọn metiriki boṣewa bii òkiti, Ramu ati I/O.

Nigbati o ba n kọ ibojuwo, o gbọdọ ṣe akiyesi awọn ẹya ti Adagun Okun ni Elasticsearch. Elasticsearch Iwe ṣe apejuwe awọn aṣayan iṣeto ni ati awọn iye aiyipada fun wiwa ati titọka, ṣugbọn o dakẹ patapata nipa thread_pool.management. Ilana awọn okun wọnyi, ni pataki, awọn ibeere bii _cat / shards ati awọn iru miiran, eyiti o rọrun lati lo lakoko kikọ ibojuwo. Ti iṣupọ naa ba tobi sii, diẹ sii iru awọn ibeere ni a ṣe fun ẹyọkan akoko, ati thread_pool.management ti a mẹnuba ko ṣe afihan nikan ninu iwe aṣẹ, ṣugbọn tun ni opin nipasẹ aiyipada si awọn okun 5, eyiti o sọnu ni iyara pupọ, lẹhin eyi ti monitoring duro ṣiṣẹ ti tọ.

Ohun ti Mo fẹ sọ ni ipari: a ṣe! A ni anfani lati fun awọn olupilẹṣẹ ati awọn olupilẹṣẹ ohun elo kan ti, ni fere eyikeyi ipo, le yarayara ati ni igbẹkẹle pese alaye nipa ohun ti n ṣẹlẹ ni iṣelọpọ.

Bẹẹni, o wa ni idiju pupọ, ṣugbọn, sibẹsibẹ, a ṣakoso lati baamu awọn ifẹ wa sinu awọn ọja ti o wa tẹlẹ, eyiti a ko ni lati patch ati atunkọ fun ara wa.

Elasticsearch iṣupọ 200 TB+

orisun: www.habr.com

Fi ọrọìwòye kun