Kooxda Elasticsearch 200 TB+

Kooxda Elasticsearch 200 TB+

Dad badan ayaa la halgama Elasticsearch. Laakiin maxaa dhacaya markaad rabto inaad u isticmaasho inaad ku kaydiso diiwaanka "mug gaar ah oo weyn"? Iyo sidoo kale xanuun la'aan in aad la kulanto guuldarada mid ka mid ah xarumaha xogta? Qaab dhisme noocee ah ayaad samaynaysaa, iyo godadkee baad ku turunturoon doontaa?

Anagoo ah Odnoklassniki waxaan go'aansanay inaan isticmaalno elasticsearch si aan u xalliyo arinta maamulka log, oo hadda waxaan la wadaagnaa khibradeena Habr: labadaba ku saabsan naqshadaha iyo ku saabsan godadka.

Anigu waxaan ahay Pyotr Zaitsev, waxaan ka shaqeeyaa sidii maamulaha nidaamka Odnoklassniki. Intaa ka hor, waxaan sidoo kale ahaa maamule, oo la shaqeeyay Raadinta Manticore, Raadinta Sphinx, Elasticsearch. Waxaa laga yaabaa, haddii mid kale ... raadinta soo baxdo, waxaan u badan tahay inaan sidoo kale la shaqeyn doono. Waxa kale oo aan si tabaruc ah uga qaybqaataa dhawr mashruuc oo il furan.

Markii aan imid Odnoklassniki, waxaan si taxadar la'aan ah u sheegay wareysiga inaan la shaqeyn karo Elasticsearch. Ka dib markii aan gacanta ku dhigay oo aan dhammeeyey hawlo fudud, waxa la ii dhiibay hawl weyn oo ah in aan dib u habayn ku sameeyo nidaamka maamulka looggu ee wakhtigaas jiray.

shuruudaha

Shuruudaha nidaamka waxa loo dejiyay sida soo socota:

  • Graylog waxay ahayd in loo isticmaalo sidii hore. Sababtoo ah shirkaddu waxay hore u lahayd khibrad isticmaalka alaabtan, barnaamijyada iyo tijaabiyeyaashu way ogaayeen, waxay ahayd mid la yaqaan oo ku habboon iyaga.
  • Mugga xogta: celcelis ahaan 50-80 kun oo farriimo ilbiriqsi kasta, laakiin haddii ay wax jabaan, markaa taraafikada waxba kuma xaddidna, waxay noqon kartaa 2-3 milyan oo xariiq ilbiriqsi kasta.
  • Markaan kala hadalnay macaamiisha shuruudaha xawaaraha socodsiinta weydiimaha raadinta, waxaan ogaanay in qaabka caadiga ah ee isticmaalka nidaamkan uu yahay kan: dadku waxay raadinayaan diiwaannada codsigooda labadii maalmood ee la soo dhaafay mana rabaan inay sugaan wax ka badan a labaad ee natiijada su'aal habaysan.
  • Maamulayaashu waxay ku adkaysteen in nidaamka si fudud loo miisaami karo haddii loo baahdo, iyada oo aan looga baahnayn inay si qoto dheer u baadho sida uu u shaqeeyo.
  • Markaa hawsha kaliya ee dayactirka ee nidaamyadani u baahan yihiin xilliyada qaarkood waa in la beddelo qalabka qaarkood.
  • Intaa waxaa dheer, Odnoklassniki waxay leedahay dhaqan farsamo oo heer sare ah: adeeg kasta oo aan bilowno waa inuu ka badbaadaa fashilka xarunta xogta (si lama filaan ah, aan la qorshayn iyo gabi ahaanba wakhti kasta).

Shuruudaha ugu dambeeya ee hirgelinta mashruucan ayaa nagu kacaya kharashka ugu badan, oo aan si faahfaahsan uga hadli doono.

Deegaanka

Waxaan ka shaqeynaa afar xarumood oo xog ah, halka xogta Elasticsearch ay ku jiri karaan kaliya seddex (sababo aan farsamo ahayn).

Afartan xarumood ee xogta waxay ka kooban yihiin qiyaastii 18 kun oo ilo log oo kala duwan - qalab, weelal, mashiinno farsamo.

Muuqaal muhiim ah: kooxdu waxay ka bilaabataa weelasha podman ma aha mishiinada jidhka, laakiin waa on alaabta daruur u gaar ah hal-daruur. Koonteennarada waxaa loo dammaanad qaaday 2 koofiyadood, oo la mid ah 2.0Ghz v4, iyadoo ay suurtogal tahay in dib loo warshadeeyo inta soo hartay haddii ay shaqo la'aan yihiin.

Si kale haddii loo dhigo:

Kooxda Elasticsearch 200 TB+

Topology

Waxaan markii hore u arkay qaabka guud ee xalka sida soo socota:

  • 3-4 VIPs ayaa ka dambeeya A-rikoobka domainka Graylog, kani waa ciwaanka loo soo diro logu.
  • VIP kastaa waa dheellitir LVS.
  • Ka dib, diiwaanadu waxay aadaan batteriga Graylog, qaar ka mid ah xogta ayaa ku jira qaabka GELF, qaarna qaabka syslog.
  • Markaa waxaas oo dhan waxay ku qoran yihiin dufcadyo waaweyn batari isku-duwayaasha Elasticsearch.
  • Iyaga, iyaguna, waxay u diraan qoraal iyo akhri codsiyo noodhka xogta khuseeya.

Kooxda Elasticsearch 200 TB+

Eray bixin

Waxaa laga yaabaa in qof kastaa uusan si faahfaahsan u fahmin erey-bixinta, markaa waxaan jeclaan lahaa inaan ku yara dul istaago.

Elasticsearch waxa ay leedahay dhawr nooc oo noodhka ah - sayid, isuduwaha, xogta noodhka. Waxaa jira laba nooc oo kale oo loogu talagalay isbeddellada logyada kala duwan iyo xiriirka ka dhexeeya kooxo kala duwan, laakiin waxaan isticmaalnay kaliya kuwa liiska ku qoran.

Master-ka
Waxay pings ku dhejisaa dhammaan qanjidhada ku jira kutlada, waxay ilaalisaa khariidad kooxeed casri ah waxayna u qaybisaa noodaha, waxay socodsiisaa macquulka dhacdada, waxayna fulisaa noocyo kala duwan oo ah ilaalinta guriga ee ballaaran.

Isuduwaha
Wuxuu qabtaa hal hawl oo keliya: aqbala akhrinta ama qorista codsiyada macaamiisha iyo dariiqyada gaadiidkan. Haddii ay dhacdo codsi qoraal ah, waxay u badan tahay, waxay waydiin doontaa sayidkiisa jeexjeexyada tusaha khuseeya ee ay tahay inay geliso, oo ay dib u habayn doonto codsiga.

Xogta noodhka
Waxay kaydisaa xogta, fulisaa weydiimaha raadinta ee dibadda ka imanaya oo waxay ku qabataa jeexjeexyada ku yaal.

Cawil
Tani waa wax la mid ah isku dhafka Kibana oo leh Logstash oo ku jira xirmada ELK. Graylog wuxuu isku daraa UI iyo dhuumaha farsamaynta log labadaba. Daboolka hoostiisa, Graylog waxa uu maamulaa Kafka iyo Zookeeper, kuwaas oo siiya isku xidhka Graylog sida koox ahaan. Graylog waxa uu kaydin karaa diiwaannada (Kafka) haddii Elasticsearch la waayo oo uu ku celiyo ku guul dareysiga akhrinta iyo qorista codsiyada, koox iyo calaamadee diiwaannada si waafaqsan xeerar cayiman. Sida Logstash, Graylog waxa uu leeyahay hawl uu wax kaga beddelo safafka ka hor inta aan loo qorin Elasticsearch.

Intaa waxaa dheer, Graylog waxa uu leeyahay helitaan ku dhex dhisan adeega kaas oo u ogolaanaya, ku salaysan hal la heli karo Elasticsearch node, si ay u helaan dhammaan khariidadda kutlada oo ay ku shaandhayso calaamad gaar ah, taas oo ka dhigaysa in ay suurtagal tahay in si toos ah codsiyada weel gaar ah.

Muuqaal ahaan waxay u egtahay sidan:

Kooxda Elasticsearch 200 TB+

Kani waa sawir sawir laga qaaday tusaale gaar ah. Halkan waxaan ku dhiseynaa histogram ku saleysan raadinta raadinta waxaana ku muujineynaa safafka khuseeya.

Tirooyinka

Ku soo noqoshada qaab-dhismeedka nidaamka, waxaan jeclaan lahaa inaan si faahfaahsan u dul istaagno sida aan u dhisnay qaabka tusaha si ay dhammaan si sax ah u shaqeeyaan.

Jaantuska kore, kani waa heerka ugu hooseeya: Elasticsearch data nodes.

Tusmadu waa wax weyn oo macmal ah oo ka kooban Elasticsearch shards. Laftigeeda, mid kasta oo ka mid ah jeexjeexyada ma aha wax ka badan tusaha Lucene. Iyo tusaha Lucene kasta, markeeda, wuxuu ka kooban yahay hal ama dhowr qaybood.

Kooxda Elasticsearch 200 TB+

Markaan nashqadeyneyno, waxaan ogaanay in si aan u buuxino shuruudaha akhrinta xawaaraha xogta tiro badan, waxaan u baahannahay inaan "ku faafinno" xogtan si siman oo dhan xogta xogta.

Tani waxay keentay xaqiiqda ah in tirada shards per index (oo leh nuqullo) waa inay si adag u siman yihiin tirada qanjidhada xogta. Marka hore, si loo hubiyo in soo noqnoqoshada oo le'eg laba (taas oo ah, waxaan lumin karnaa kala bar kooxda). Iyo, marka labaad, si loo habeeyo akhrinta iyo qorista codsiyada ugu yaraan kala badh kooxda.

Marka hore waxaanu go'aaminay wakhtiga kaydinta inuu yahay 30 maalmood.

Qaybinta jeexjeexyada waxa loo matali karaa garaaf ahaan sida soo socota:

Kooxda Elasticsearch 200 TB+

Dhammaan leydi cawlan mugdi ah waa index. Afargeeska cas ee bidix ee ku yaal waa jeexjeexa koowaad, kan ugu horreeya ee tusmada. Laba-geesoodka buluugga ah waa jeex soo noqnoqda. Waxay ku yaalaan xarumo xogeed oo kala duwan.

Marka aan ku darno jeex kale, waxay tagtaa xarunta xogta saddexaad. Iyo, dhamaadka, waxaan helnaa qaab-dhismeedkan, kaas oo suurtogal ka dhigaya in la lumiyo DC iyada oo aan lumin xogta joogtada ah:

Kooxda Elasticsearch 200 TB+

Wareegtada tusmooyinka, i.e. abuurista tusmo cusub iyo tirtirida kan ugu da'da weyn, waxaanu ka dhignay mid la mid ah saacadaha 48 (sida ku cad qaabka isticmaalka tusaha: 48 saacadood ee ugu dambeeya ayaa badanaa la raadiyaa).

Muddada wareegtada tusmada waxa sabab u ah sababahan soo socda:

Marka codsiga raadinta uu ku yimaado xudunta xogta gaarka ah, ka dib, marka laga eego aragtida waxqabadka, waa faa'iido badan marka hal jeex la weydiiyo, haddii cabbirkiisu u dhigmo xajmiga sinta noodka. Tani waxay kuu ogolaaneysaa inaad ku hayso qaybta "kulul" ee tusaha oo aad si degdeg ah u gasho. Marka ay jiraan "qaybo kulul" badan, xawaaraha raadinta index ayaa hoos u dhacaya.

Marka noodhku bilaabo fulinta weydiinta raadinta hal jeex, waxa ay qoondaynaysaa tiro taxane ah oo la mid ah tirada xudunta garaaca wadnaha ee mishiinka jireed. Haddii su'aal raadintu ay saamayso tiro badan oo shards ah, markaa tirada duntu waxay u koraan si siman. Tani waxay saameyn xun ku leedahay xawaaraha raadinta waxayna si xun u saameyneysaa tusmaynta xogta cusub.

Si loo bixiyo daahida raadinta lagama maarmaanka ah, waxaan go'aansanay inaan isticmaalno SSD. Si dhaqso loogu habeeyo codsiyada, mashiinada martigeliyay weelashan waa inay lahaadaan ugu yaraan 56 konteenar. Tirada 56 waxaa loo doortay qiime shuruudaysan oo go'aaminaya tirada dunta Elasticsearch soo saari doonto inta lagu jiro hawlgalka. Elasitcsearch, xudduudaha barkadaha dunta badan waxay si toos ah ugu xiran yihiin tirada koodhka la heli karo, taas oo iyana si toos ah u saameynaysa tirada qanjidhada loo baahan yahay ee kutlada iyadoo la raacayo mabda'a "koobab yar - noodhadh badan".

Natiijo ahaan, waxaan ogaanay in celcelis ahaan jeexjeexku uu miisaankiisu yahay 20 gigabytes, waxaana jira 1 mitir halkii index. Sidaas awgeed, haddii aan ku rogrogno hal mar 360 saacadood, markaa waxaan haysannaa 48 iyaga ka mid ah. Tusi kastaa wuxuu ka kooban yahay xog 15 maalmood ah.

Wareegyada qoraalka iyo akhrinta xogta

Aynu ogaano sida xogta loogu duubay nidaamkan.

Aynu nidhaahno xoogaa codsi ah ayaa ka yimi Graylog ilaa iskuduwaha. Tusaale ahaan, waxaan rabnaa in aan tilmaamno 2-3 kun oo saf.

Isku-duwaha, ka dib markii uu codsi ka helay Graylog, su'aalo sayidkii: "Codsiga indexing, waxaan si gaar ah u cayimay index, laakiin taas oo shard in lagu qoro aan la cayimin."

Sayidka ayaa ku jawaabay: "Macluumaadkan ku qor lambarka 71," ka dib waxaa si toos ah loogu diraa noodhka xogta ku habboon, halkaasoo lambarka koowaad ee 71 uu ku yaal.

Taas ka dib diiwaanka wax kala iibsiga ayaa lagu soo rogaa nuqul-shard, kaas oo ku yaala xarun kale oo xog ah.

Kooxda Elasticsearch 200 TB+

Codsi raadin ayaa ka imanaya Graylog una socda iskuduwaha. Iskuduwaha ayaa u jiheeya si waafaqsan tusmada, halka Elasticsearch u qaybiyo codsiyada u dhexeeya shard-primary iyo replica-shard iyada oo la adeegsanayo mabda'a wareega-robin.

Kooxda Elasticsearch 200 TB+

180-ka nodes waxay u jawaabaan si aan sinnayn, iyo inta ay ka jawaabayaan, iskudubariduhu waxa uu ururinayaa macluumaadka ay mar hore "tufeen" noonada xogta degdega ah. Taas ka dib, marka dhammaan macluumaadka ay yimaadaan, ama codsigu uu gaaro waqti go'an, waxay si toos ah wax walba u siinaysaa macmiilka.

Nidaamkan oo dhan celcelis ahaan wuxuu socodsiiyaa weydiimaha raadinta 48-kii saacadood ee la soo dhaafay 300-400ms, marka laga reebo weydiimahaas oo leh calaamad sare.

Ubax leh Elasticsearch: dejinta Java

Kooxda Elasticsearch 200 TB+

Si aan dhammaantiis uga dhigno sidii aan markii hore rabnay, waxaan ku qaadannay waqti aad u dheer xallinta waxyaabo badan oo kala duwan oo ku jira kooxda.

Qaybta hore ee dhibaatooyinka la helay waxay la xidhiidhay habka Java hore loogu habeeyey ee Elasticsearch.

Dhibka koowaad
Waxaan aragnay tiro aad u badan oo warbixino ah oo sheegaya in heerka Lucene, marka shaqooyinka asalka ahi ay socdaan, qaybta Lucene isku darka ay ku guuldareysato qalad. Isla mar ahaantaana, waxay ku caddaatay diiwaanka in tani ay tahay qalad OutOfMemoryError. Waxaan ka aragnay telemetry in sinta ay xor tahay, mana cadda sababta qalliinkan u fashilmay.

Waxaa soo baxday in tusmooyinka Lucene ay ka dhacaan meel ka baxsan sinta. Haamahana aad bay u xaddidan yihiin marka loo eego agabka la isticmaalo. Kaliya taallo ayaa ku haboonaan karta ilahan (qiimaha heap.size wuxuu ahaa qiyaastii la mid ah RAM), iyo qaar ka mid ah hawlgallada bannaanka ah ayaa ku burburay khalad qoondaynta xusuusta haddii sababo jira aysan ku habboonayn ~ 500MB ee ku hadhay xadka.

Hagaajintu waxay ahayd mid aad u yar: qaddarka RAM ee haynta weelka ayaa kordhay, ka dib waxaan iloobin inaan xitaa dhibaatooyin noocaas ah qabno.

Dhibka labaad
4-5 maalmood ka dib markii la bilaabay kooxda, waxaan ogaanay in qanjidhada xogta ay bilaabeen inay si xilliyo ah uga soo baxaan kutlada oo ay galaan 10-20 ilbiriqsi ka dib.

Markii aan bilownay inaan ogaano, waxaa noo soo baxday in xusuusta ka baxsan Elasticsearch aan sina loo xakameyn. Markii aan siinay xasuus badan weelka, waxaan awoodnay inaan ka buuxinno barkadaha kaydinta tooska ah macluumaad kala duwan, waxaana la nadiifiyay kaliya ka dib markii GC-da cad laga bilaabay Elasticsearch.

Xaaladaha qaarkood, qalliinkan waxa uu qaatay waqti dheer, waxaana muddadaas kooxdu ku guulaysatay inay calaamadiso noodhkan sidii horeba uga baxay. Dhibaatadan si fiican ayaa loo sharraxay halkan.

Xalku wuxuu ahaa sidan soo socota: waxaan xaddidnay awoodda Java si ay u isticmaasho inta badan xusuusta ka baxsan tuulan hawlahan. Waxaan ku xaddidnay 16 gigabytes (-XX:MaxDirectMemorySize=16g), anagoo hubinayna in GC-da cad loo yeero marar badan oo si dhaqsiyo leh loo farsameeyo, taasoo aan dib dambe u xasilin kooxda.

Dhibka saddexaad
Haddii aad u malaynayso in dhibaatooyinka "nodes-ka ka baxaya kooxda marka ugu badan ee aan la filayn" ay dhammaatay, waad qaldan tahay.

Markii aan shaqada ku habeynay tusmooyin, waxaan doorannay mmapfs yaree wakhtiga raadinta oo ku yaal jeexyo cusub oo kala qaybsanaan weyn leh. Tani waxay ahayd qalad aad u xun, sababtoo ah marka la isticmaalayo mmapfs faylka waxaa lagu dhejiyaa RAM, ka dibna waxaan la shaqeynaa faylka la duubay. Sababtaas awgeed, waxay soo baxday in marka GC isku dayo inuu joojiyo dunta codsiga, waxaan aadeynaa goobta badbaadada muddo aad u dheer, oo jidka loo maro, codsigu wuxuu joojinayaa ka jawaabista codsiyada sayidkiisa ee ku saabsan inuu nool yahay iyo in kale. . Sidaas awgeed, sayidku waxa uu rumaysan yahay in noodhka aanu hadda ku jirin kooxda. Taas ka dib, 5-10 ilbiriqsi ka dib, qashin-ururiyahu wuu shaqeeyaa, noodhka ayaa soo noolaaday, wuxuu galaa mar labaad oo wuxuu bilaabaa inuu bilaabo jeexjeexyada. Waxaas oo dhami waxay dareemeen sida "wax soo saarka aan u qalanay" mana ku haboonayn wax halis ah.

Si aan uga takhalusno dhaqankan, waxaan marka hore u wareegnay niofs-ka caadiga ah, ka dibna, markii aan ka soo guurnay nooca shanaad ee Elastic ilaa lixaad, waxaan isku daynay isku-dhafka, halkaasoo dhibaatadan aan dib loo soo saarin. Waxaad wax badan ka akhriyi kartaa noocyada kaydinta halkan.

Dhibka afraad
Ka dib waxaa dhacday dhibaato kale oo aad u xiiso badan oo aan daweynay waqti rikoor ah. Waxaan ku qabanay 2-3 bilood sababtoo ah qaabkeedu wuxuu ahaa mid aan la fahmi karin.

Mararka qaarkood isku-duwayaashayadu waxay aadaan Full GC, badanaa wakhti ka dib qadada, kamana soo noqon halkaas. Isla mar ahaantaana, markaad gasho dib u dhigista GC, waxay u egtahay sidan: wax walba si fiican ayay u socdaan, si fiican, si fiican, ka dibna si lama filaan ah wax walbaa si aad u xun.

Markii hore waxaan u maleynay in aan haysano isticmaale shar leh oo bilaabay nooc ka mid ah codsi kaas oo ka tuuray isku-duwaha qaabka shaqada. Waxa aanu galnay codsiyo wakhti aad u dheer, anagoo isku daynay in aanu ogaano waxa dhacaya.

Natiijo ahaan, waxay soo baxday in wakhtigan xaadirka ah marka isticmaaluhu uu bilaabo codsi weyn, oo ay gaadho iskuduwaha Elasticsearch gaar ah, noodhadhka qaar ayaa ka jawaaba in ka badan kuwa kale.

Iyo inta iskudubariduhu uu jawaab ka sugayo dhammaan qanjidhada, wuxuu ururiyaa natiijooyinka laga soo diray qanjidhada hore ee ka jawaabay. Dhanka GC, tani waxay ka dhigan tahay in qaababka isticmaalkeena taallo ay si dhakhso ah isu beddelaan. GC-gii aanu adeegsanayna wuu xamili waayay hawshan.

Waxa kaliya ee aan ku ogaanay in aan wax ka badalno hab dhaqanka kooxda xaaladan waa u haajiridda JDK13 iyo isticmaalka ururiyaha qashinka ee Shenandoah. Tani waxay xallisay dhibaatada, isku-duwayaashayada ayaa joojiyay inay dhacaan.

Halkani waa meesha ay ku dhammaatay dhibaatadii Java oo ay ka bilaabmatay dhibatooyinkii bandowga.

"berry" oo leh Elasticsearch: soo saarista

Kooxda Elasticsearch 200 TB+

Dhibaatooyinka wax soo saarka waxay ka dhigan tahay in kooxdeennu ay si deggan u shaqeyso, laakiin marka ay ugu sarreyso tirada dukumentiyada la calaamadeeyay iyo inta lagu jiro dhaqdhaqaaqyada, waxqabadku kuma filna.

Calaamadaha ugu horreeya ee la kulma: inta lagu jiro qaar ka mid ah "qaraxyada" wax soo saarka, marka tiro aad u badan oo loox ah si lama filaan ah loo soo saaro, qaladka es_rejected_execution wuxuu bilaabaa inuu si joogta ah u iftiimiyo Graylog.

Tani waxay sabab u ahayd xaqiiqda ah in thread_pool.write.queue hal xog xog ah, ilaa wakhtiga Elasticsearch uu awoodo inuu farsameeyo codsiga tusmaynta oo uu ku shubo macluumaadka shardka saxanka, uu awoodo inuu kaydiyo kaliya 200 codsi si caadi ah. Oo gudaha Dukumentiyada Elasticsearch Wax aad u yar ayaa laga sheegay cabbirkan. Kaliya tirada ugu badan ee dunta iyo cabbirka caadiga ah ayaa la tilmaamay.

Dabcan, waxaan u tagnay inaan maroojinno qiimahan oo aan ogaanno kuwan soo socda: gaar ahaan, dejintayada, illaa 300 codsi ayaa si fiican loo kaydiyay, qiime sarena waxaa ka buuxa xaqiiqda ah inaan mar kale u duulno GC buuxa.

Intaa waxaa dheer, maadaama kuwani ay yihiin qaybo fariimo ah oo ku yimaada hal codsi, waxay lagama maarmaan ahayd in la hagaajiyo Graylog si uusan u qorin marar badan iyo qaybo yaryar, laakiin hal mar 3 ilbiriqsi kasta haddii dufcadda aan weli la dhamaystirin. Xaaladdan oo kale, waxay soo baxday in macluumaadka aan ku qorno Elasticsearch uu noqdo mid aan la heli karin laba ilbiriqsi, laakiin shan (taas oo nagu habboon si fiican), laakiin tirada dib-u-celinta ee ay tahay in la sameeyo si loogu riixo weyn kaydka macluumaadka waa la dhimay.

Tani waxay si gaar ah muhiim u tahay waqtiyadaas marka ay wax ku dhaceen meel oo ay si cadho leh uga warbixiyaan, si aysan u helin gebi ahaanba Elastic spam ah, iyo wakhti ka dib - Graylog nodes kuwaas oo aan shaqayn karin sababtoo ah xannibaadyada xiran.

Intaa waxaa dheer, markii aan isku qarxinnay wax soo saarka, waxaan helnay cabashooyinka barnaamijyada iyo tijaabiyeyaasha: xilligan oo ay runtii u baahnaayeen logyadan, si tartiib tartiib ah ayaa loo siin jiray.

Waxay bilaabeen inay ogaadaan. Dhinaca kale, way caddaatay in labada weydiimood ee raadinta iyo weydiimaha tusmaynta la farsameeyay, asal ahaan, mashiinno isku mid ah, iyo hal waddo ama si kaleba waxaa jiri doona cillado gaar ah.

Laakiin tan waxaa laga yaabaa in qayb ahaan la hareer maro sababtoo ah nooca lixaad ee Elasticsearch, algorithm ayaa soo muuqday kaas oo kuu oggolaanaya inaad u qaybiso su'aalaha u dhexeeya qanjidhada xogta ku habboon iyada oo aan loo eegayn mabda'a wareega-robin ee random -shard aad buu u mashquuli karaa, ma jiri doonto si dhakhso ah looga jawaabo), laakiin si codsigan loogu gudbiyo weel yar oo la raran yahay oo leh shaar-koobi ah, kaas oo si degdeg ah uga jawaabi doona. Si kale haddii loo dhigo, waxaan gaadhnay adeegsiga_adaptive_replica_selection: run.

Sawirka wax-akhrisku wuxuu ku bilaabmayaa sidan:

Kooxda Elasticsearch 200 TB+

U gudubka algorithm-ka ayaa suurtageliyay in si weyn loo wanaajiyo waqtiga weydiinta waqtiyadaas markii aan haysanay qulqul weyn oo qoraallo ah.

Ugu dambeyntii, dhibaatada ugu weyn waxay ahayd ka saarista aan xanuun lahayn ee xarunta xogta.

Waxa aanu ka rabnay kooxda isla markiiba ka dib markii aanu luminay xidhiidhka aan la leenahay hal DC:

  • Haddii aan ku hayno sayid hadda jooga xarunta xogta fashilantay, markaa dib ayaa loo dooran doonaa oo loo wareejin doonaa kaalin kale oo ku taal DC kale.
  • Sayidku si dhakhso ah ayuu uga saari doonaa dhammaan noodhadhka aan la geli karin kooxda
  • Iyada oo ku saleysan kuwa soo haray, wuu fahmi doonaa: xarunta xogta ee luntay waxaan ku haynay jeexjeexyada aasaasiga ah iyo kuwan oo kale, wuxuu si dhakhso ah u horumarin doonaa jeexjeexyada nuqul kaabaya ee xarumaha xogta haray, waxaanan sii wadi doonaa tusmaynta xogta.
  • Natiijo ahaan, qoraalka kooxda iyo wax-akhrinta ayaa si tartiib tartiib ah hoos u dhacaya, laakiin guud ahaan wax walba way shaqeyn doonaan, inkastoo si tartiib ah, laakiin si deggan.

Siday noqotay, waxaanu rabnay wax sidan oo kale ah:

Kooxda Elasticsearch 200 TB+

Waxaana helnay kuwan soo socda:

Kooxda Elasticsearch 200 TB+

Sidee tani ku dhacday?

Markii xaruntii xogtu dhacday, sayidkeennu wuxuu noqday dhalo.

Waa maxay sababta?

Xaqiiqdu waxay tahay in sayidku leeyahay TaskBatcher, kaas oo mas'uul ka ah qaybinta hawlaha iyo dhacdooyinka qaarkood ee kutlada. Ka bixitaan node kasta, dallacsiin kasta oo jeexjeex ah min nuqul ilaa hoose, hawl kasta oo lagu abuurayo jeexjeex meel - waxaas oo dhan waxay aadayaan marka hore TaskBatcher, halkaas oo si isdaba joog ah looga shaqeeyo iyo hal dun.

Waqtigii laga saaray hal xarun xog, waxay soo baxday in dhammaan noodhadhka xogta ee xarumaha xogta badbaadada ay u tixgeliyeen waajibaadkooda ah inay ku wargeliyaan sayidkiisa "waxaan luminay jeexjeexyada noocaas ah iyo kuwan oo kale ah iyo kuwan oo kale ah."

Isla mar ahaantaana, nodes xogta badbaaday waxay u direen dhammaan macluumaadkan sayidkii hadda oo isku dayay inay sugaan xaqiijinta inuu aqbalay. Iyagu ma ay sugin tan, maadaama sayidku hawluhu ku helay si ka dhaqso badan inta uu ka jawaabi karo. Nodes-ku waxay soo afjareen codsiyada soo noqnoqda, sayidku wakhtigan xitaa iskuma dayin inuu ka jawaabo, laakiin wuxuu si buuxda u nuugay hawsha kala-soocidda codsiyada mudnaanta.

Qaabka terminal-ka, waxa soo baxday in qanjidhada xogtu ay spamka galiyeen sayidkii ilaa heer uu galay GC buuxa. Intaa ka dib, kaalinteena sayidku waxay u dhaqaaqday qaar ka mid ah noodhka xiga, gabi ahaanba wax la mid ah ayaa ku dhacay, taasina waxay keentay in kooxdu gebi ahaanba burburto.

Waxaan qaadnay cabbirro, ka horna nooca 6.4.0, halkaasoo tan lagu hagaajiyay, waxay nagu filnaatay inaan isku mar soo saarno 10 xog noono ah oo ka mid ah 360 si aan gebi ahaanba u xirno kooxda.

Waxay u ekayd sidan:

Kooxda Elasticsearch 200 TB+

Ka dib nooca 6.4.0, halkaasoo cayayaankan xun lagu hagaajiyay, noodhadhka xogta ayaa joojiyay dilka sayidkii. Laakiin taasi kamay dhigin mid "ka caqli badan" Magac ahaan: marka aan soo saarno 2, 3 ama 10 (lambar kasta oo aan ahayn hal) xogta noodhka, sayidku wuxuu helayaa fariinta ugu horeysa ee sheegaya in noodhka A ka tagay, oo isku dayo inuu u sheego noodhka B, noode C arrintan, noode D.

Waqtigan xaadirka ah, tan waxa kaliya oo lagu xallin karaa iyada oo la dejinayo waqti isku day ah in qof loo sheego wax, oo u dhigma ilaa 20-30 ilbiriqsi, oo sidaas darteed la xakameeyo xawaaraha xarunta xogta ee ka baxaysa kutlada.

Mabda 'ahaan, tani waxay ku habboon tahay shuruudaha markii hore lagu soo bandhigay alaabta ugu dambeysa ee qayb ka ah mashruuca, laakiin marka laga eego aragtida "sayniska saafiga ah" tani waa cillad. Kaasoo, dhanka kale, ay si guul leh u hagaajiyeen soosaarayaasha nooca 7.2.

Intaa waxaa dheer, markii ay soo baxday noodhka xogta qaarkood, waxay soo baxday in faafinta macluumaadka ku saabsan ka bixitaankeeda ay ka muhiimsan tahay in la sheego kooxda oo dhan inay jiraan iyo kuwan oo kale ah-shards-yadaas oo kale ah (si kor loogu qaado nuqul ka mid ah xogta kale). xarunta hoose, macluumaadkana waa lagu qori karaa).

Sidaa darteed, marka wax waliba ay hore u dhinteen, qanjidhada xogta la sii daayay isla markiiba looma calaamadin inay taagan yihiin. Sidaa darteed, waxaa nalagu qasbay inaan sugno ilaa dhammaan pings ay ka gaarayaan qanjidhada xogta ee la sii daayay, ka dib markaa kooxdayadu waxay bilaabataa inay noo sheegto in halkaas, halkaas, iyo halkaas aan u baahannahay inaan sii wadno duubista macluumaadka. Wax badan oo arrintan ku saabsan ayaad ka akhrisan kartaa halkan.

Natiijo ahaan, hawlgalka ka noqoshada xarun xogeed maanta waxay nagu qaadataa qiyaastii 5 daqiiqo inta lagu jiro saacadaha degdega ah. Sida colossus weyn oo qallafsan, tani waa natiijo fiican.

Natiijo ahaan, waxaan gaadhnay go'aankan:

  • Waxaan haynaa 360 nodes xog oo leh 700 gigabyte disks.
  • 60 isku duwayaal ah oo ku hagaya taraafikada iyada oo loo marayo marinnada xogtan isku midka ah.
  • 40 sayid oo aan uga tagnay nooc ka mid ah dhaxalka tan iyo qoraalkii ka hor 6.4.0 - si aan u badbaadno ka bixitaanka xarunta xogta, waxaan maskax ahaan u diyaarsaneyn inaan lumino dhowr mashiinno si loo dammaanad qaado inaan haysano kooramka sayidyada xitaa kiis kii ugu xumaa
  • Isku dayo kasta oo la isku dayey in la isku daro doorarka hal weel ayaa la kulmay xaqiiqda ah in mar dhow ama hadhow uu noodhka ku jabo culeyska.
  • Kooxda oo dhami waxay isticmaashaa xajmi dhan 31 gigabytes: dhammaan isku dayada lagu dhimayo cabbirka waxay keentay in la dilo qaar ka mid ah noodhka su'aalaha raadinta culculus oo leh calaamadda hormuudka ah ama helitaanka wareegga wareegga Elasticsearch laftiisa.
  • Intaa waxaa dheer, si loo hubiyo waxqabadka raadinta, waxaan isku daynay inaan ku hayno tirada walxaha ku jirta kooxda sida ugu yar ee suurtogalka ah, si aan u socodsiino dhacdooyinka yar ee suurtogalka ah ee dhalooyinka aan ku helnay sayidkii.

Ugu dambeyntii ku saabsan la socodka

Si loo hubiyo in waxaasoo dhan ay u shaqeeyaan sidii loogu talagalay, waxaan la soconaa kuwa soo socda:

  • Node kasta oo xog ah ayaa u sheegaysa daruurteena in ay jirto, waxaana ku dul yaal jeexjeexyo noocaas ah. Marka aan wax ka bakhtiino meel, kooxdu waxay soo sheegtaa 2-3 ilbiriqsi ka dib in bartamaha A waxaan daminay noodhka 2, 3, iyo 4 - tani waxay ka dhigan tahay in xarumaha kale ee xogta aan xaalad kasta oo aan damin karin kuwa noodhka ah ee ay ku yaalaan hal shard oo keliya. bidix.
  • Ogaanshaha dabeecadda dabeecadda sayidkiisa, waxaanu si taxadar leh u eegnaa tirada hawlaha la sugayo. Sababtoo ah xitaa hal shaqo oo xayiran, haddii aysan waqti ku dhicin, aragti ahaan xaaladaha degdega ah qaarkood waxay noqon karaan sababta, tusaale ahaan, kor u qaadida jeexjeexa nuqul ka mid ah asaasiga ah ma shaqeynayo, taas oo ah sababta tusmaynta ay joojin doonto shaqada.
  • Waxaan sidoo kale si dhow u eegnaa daahitaanka qashinka aruuriyaha, sababtoo ah waxaan horeyba u haysanay dhibaato weyn tan inta lagu jiro hagaajinta.
  • Wuxuu ku diidaa dunta si uu horay u fahmo halka ay cidhiftu ku taal.
  • Hagaag, cabbirada caadiga ah sida taallo, RAM iyo I/O.

Markaad dhiseyso la socodka, waa inaad xisaabta ku dartaa sifooyinka Barkadda Thread Pool ee Elasticsearch. Dukumentiyada Elasticsearch wuxuu qeexayaa xulashooyinka qaabeynta iyo qiyamka caadiga ah ee raadinta iyo tusmaynta, laakiin gabi ahaanba wuu ka aamusay thread_pool.management. Nidaamka mawduucan, gaar ahaan, weydiimaha sida _cat / shards iyo kuwa kale ee la midka ah, kuwaas oo ku habboon in la isticmaalo marka la kormeerayo. Kutlada weyn, codsiyada noocan oo kale ah ayaa la fulinayaa halbeeg kasta, iyo thread_pool.maamulka aan soo sheegnay kaliya laguma soo bandhigin dukumeentiyada rasmiga ah, laakiin sidoo kale waxay ku xaddidan tahay 5 taxane, oo si dhakhso ah loo tuuro, ka dib. kaas oo la socodka joojiya shaqada si sax ah.

Waxa aan rabo in aan ku soo gunaanado: waanu samaynay! Waxaan awoodnay inaan siino barnaamij-sameeyayaasha iyo horumariyeyaasheeda qalab, ku dhawaad ​​xaalad kasta, si dhakhso leh oo la isku halleyn karo u bixin karo macluumaadka ku saabsan waxa ka dhacaya wax soo saarka.

Haa, waxay u soo baxday inay noqoto mid aad u adag, laakiin, si kastaba ha ahaatee, waxaan ku guuleysanay inaan ku habooneyno rabitaankeena alaabooyinka jira, kuwaas oo aan u baahnayn inaan dhajino oo dib u qorno nafteena.

Kooxda Elasticsearch 200 TB+

Source: www.habr.com

Add a comment