Braisle Elasticsearch 200 TB+

Braisle Elasticsearch 200 TB+

Bíonn go leor daoine ag streachailt le Elasticsearch. Ach cad a tharlaíonn nuair is mian leat é a úsáid chun logaí a stóráil “i líon an-mhór”? Agus an bhfuil sé gan phian freisin taithí a fháil ar theip ar aon cheann de roinnt ionad sonraí? Cén cineál ailtireachta ba cheart duit a dhéanamh, agus cad iad na gaistí a rachaidh tú i gcion orthu?

Shocraigh muid in Odnoklassniki úsáid a bhaint as elasticsearch chun ceist na bainistíochta loga a réiteach, agus anois roinnimid ár dtaithí le Habr: faoin ailtireacht agus faoi na gaistí araon.

Is mise Pyotr Zaitsev, táim ag obair mar riarthóir córais ag Odnoklassniki. Roimhe sin, bhí mé i mo riarthóir freisin, d'oibrigh le Manticore Search, Sphinx search, Elasticsearch. B'fhéidir, má thagann ...cuardach eile, is dócha go n-oibreoidh mé leis freisin. Glacaim páirt freisin i roinnt tionscadal foinse oscailte ar bhonn deonach.

Nuair a tháinig mé go Odnoklassniki, dúirt mé go meargánta ag an agallamh go bhféadfainn oibriú le Elasticsearch. Tar éis dom an lámh in uachtar a fháil air agus roinnt tascanna simplí a chur i gcrích, tugadh an tasc mór dom an córas bainistithe logaí a bhí ann ag an am sin a athchóiriú.

Riachtanais

Ceapadh na ceanglais chórais mar seo a leanas:

  • Bhíodh an liathroid le húsáid mar aghaidh. Toisc go raibh taithí ag an gcuideachta cheana féin ar an táirge seo a úsáid, bhí a fhios ag ríomhchláraitheoirí agus tástálaithe é, bhí sé eolach agus áisiúil dóibh.
  • Toirt sonraí: ar an meán 50-80 míle teachtaireacht in aghaidh an tsoicind, ach má bhriseann rud éigin, ansin nach bhfuil an trácht teoranta ag rud ar bith, is féidir é a bheith 2-3 milliún línte in aghaidh an tsoicind
  • Tar éis plé a dhéanamh le custaiméirí ar na ceanglais maidir le luas próiseála fiosrúcháin chuardaigh, thuig muid gurb é an patrún tipiciúil a bhaineann le córas den sórt sin a úsáid: tá daoine ag lorg logaí dá n-iarratas le dhá lá anuas agus níl siad ag iarraidh fanacht níos mó ná uair amháin. sa dara háit maidir le toradh fiosrúcháin foirmlithe.
  • D’áitigh na riarthóirí go mbeadh an córas inscálaithe go héasca dá mba ghá, gan iallach a chur orthu mionscrúdú a dhéanamh ar an gcaoi a n-oibríonn sé.
  • Mar sin is é an t-aon tasc cothabhála a éilíonn na córais seo go tréimhsiúil ná roinnt crua-earraí a athrú.
  • Ina theannta sin, tá traidisiún teicniúil den scoth ag Odnoklassniki: ní mór d'aon seirbhís a sheolaimid maireachtáil teip lárionad sonraí (tobann, gan phleanáil agus go hiomlán ag am ar bith).

Is é an riachtanas deireanach i gcur i bhfeidhm an tionscadail seo is mó a chosnaíonn orainn, a labhróidh mé faoi níos mine.

Dé Céadaoin

Oibrímid i gceithre ionad sonraí, agus ní féidir nóid sonraí Elasticsearch a lonnú ach i dtrí cinn (ar roinnt cúiseanna neamhtheicniúla).

Tá thart ar 18 míle foinsí logála éagsúla sna ceithre ionad sonraí seo - crua-earraí, coimeádáin, meaisíní fíorúla.

Gné thábhachtach: tosaíonn an braisle i gcoimeádáin podman ní ar mheaisíní fisiceacha, ach ar táirge scamall féin aon-scamall. Tá ráthaíocht ar 2 chroí ag coimeádáin, cosúil le 2.0Ghz v4, agus an fhéidearthacht na croíleacáin atá fágtha a athchúrsáil má bhíonn siad díomhaoin.

I bhfocail eile:

Braisle Elasticsearch 200 TB+

Topology

Ar dtús chonaic mé foirm ghinearálta an réitigh mar seo a leanas:

  • Tá 3-4 VIP taobh thiar de thaifead A an fhearainn Graylog, is é seo an seoladh chuig a seoltar na logaí.
  • Is cothromóir LVS é gach VIP.
  • Tar éis é, téann na logaí chuig ceallraí Graylog, tá cuid de na sonraí i bhformáid GELF, cuid acu i bhformáid syslog.
  • Ansin scríobhtar é seo go léir i mbaisceanna móra chuig ceallra comhordaitheoirí Elasticsearch.
  • Agus cuireann siadsan, ar a seal, iarratais scríofa agus léite chuig na nóid sonraí ábhartha.

Braisle Elasticsearch 200 TB+

Téarmaíocht

B'fhéidir nach dtuigeann gach duine an téarmaíocht go mion, mar sin ba mhaith liom fanacht beagán uirthi.

Tá roinnt cineálacha nóid ag Elasticsearch - máistir, comhordaitheoir, nód sonraí. Tá dhá chineál eile ann le haghaidh trasfhoirmithe loga éagsúla agus cumarsáid idir braislí éagsúla, ach níor úsáideamar ach na cinn a liostaítear.

Máistir
Pings sé na nóid go léir atá sa bhraisle, coinníonn sé léarscáil braisle cothrom le dáta agus dáileann sé idir nóid é, próiseálann sé loighic imeachtaí, agus déanann sé cineálacha éagsúla coimeád tí ar fud an bhraisle.

Comhordaitheoir
Déanann sé tasc amháin: glacann sé le hiarratais a léamh nó a scríobh ó chliaint agus bealach an trácht seo. I gcás go bhfuil iarratas scríofa ann, is dóichí go n-iarrfaidh sé ar an máistir cén shlat den innéacs ábhartha ar cheart dó é a chur isteach, agus déanfaidh sé an t-iarratas a atreorú tuilleadh.

Nód sonraí
Stórálann sé sonraí, déanann sé fiosruithe cuardaigh a thagann ón taobh amuigh agus déanann sé oibríochtaí ar shardaí atá suite air.

Log Liath
Tá sé seo cosúil le comhleá Kibana le Logstash i stack ELK. Comhcheanglaíonn Graylog UI agus píblíne próiseála loga araon. Faoin gcochall, ritheann Graylog Kafka agus Zookeeper, a sholáthraíonn nascacht le Graylog mar bhraisle. Is féidir le Graylog logaí a thaisceadh (Kafka) ar eagla nach bhfuil Elasticsearch ar fáil agus iarratais nár éirigh leo a léamh agus a scríobh a dhéanamh arís, logaí a ghrúpáil agus a mharcáil de réir rialacha sonraithe. Cosúil le Logstash, tá feidhmiúlacht ag Graylog chun sraitheanna a mhodhnú sula scríobhtar iad chuig Elasticsearch.

Ina theannta sin, tá fionnachtain seirbhíse ionsuite ag Graylog a cheadaíonn, bunaithe ar nód Elasticsearch amháin atá ar fáil, an léarscáil braisle iomlán a fháil agus é a scagadh le clib ar leith, rud a fhágann gur féidir iarratais a threorú chuig coimeádáin ar leith.

Go radharcach breathnaíonn sé rud éigin mar seo:

Braisle Elasticsearch 200 TB+

Seo seat ó shampla ar leith. Tógaimid histeagram anseo bunaithe ar an gceist chuardaigh agus taispeánaimid na sraitheanna ábhartha.

Innéacsanna

Ag filleadh ar ailtireacht an chórais, ba mhaith liom a bheith níos mine faoi conas a thógamar an tsamhail innéacs ionas gur oibrigh sé go léir i gceart.

Sa léaráid thuas, is é seo an leibhéal is ísle: nóid sonraí Elasticsearch.

Aonán mór fíorúil é innéacs atá comhdhéanta de shards Elasticsearch. Ann féin, níl aon rud níos mó ag gach ceann de na shards ná innéacs Lucene. Agus tá gach innéacs Lucene, ina dhiaidh sin, comhdhéanta de mhír amháin nó níos mó.

Braisle Elasticsearch 200 TB+

Nuair a bhí muid ag dearadh, rinneamar amach go gcaithfimid na sonraí seo a “scaipeadh” go cothrom trasna nóid sonraí chun an riachtanas do luas léitheoireachta a chomhlíonadh ar líon mór sonraí.

Mar thoradh air seo ba cheart go mbeadh líon na shards in aghaidh an innéacs (le macasamhla) go docht comhionann le líon na nóid sonraí. Ar an gcéad dul síos, chun fachtóir macasamhlú cothrom le dhá a chinntiú (is é sin, is féidir linn leath an bhraisle a chailleadh). Agus, sa dara háit, chun iarratais léite agus scríofa a phróiseáil ar leath den chnuasach ar a laghad.

Chinneamar an t-am stórála ar dtús mar 30 lá.

Is féidir dáileadh na shards a léiriú go grafach mar seo a leanas:

Braisle Elasticsearch 200 TB+

Is innéacs é an dronuilleog iomlán liath dorcha. Is í an chearnóg dhearg chlé inti an príomhshard, an chéad cheann san innéacs. Agus tá an chearnóg ghorm ina shard macasamhail. Tá siad lonnaithe in ionaid sonraí éagsúla.

Nuair a chuirimid shard eile leis, téann sé chuig an tríú lárionad sonraí. Agus, sa deireadh, faigheann muid an struchtúr seo, rud a fhágann gur féidir DC a chailleadh gan comhsheasmhacht sonraí a chailliúint:

Braisle Elasticsearch 200 TB+

Rothlú innéacsanna, i.e. ag cruthú innéacs nua agus ag scriosadh an ceann is sine, rinneamar é comhionann le 48 uair an chloig (de réir an patrún úsáide innéacs: déantar cuardach ar na 48 uair an chloig is minice).

Tá an t-eatramh rothlaithe innéacs seo mar gheall ar na cúiseanna seo a leanas:

Nuair a thagann iarratas cuardaigh chuig nód sonraí ar leith, ansin, ó thaobh feidhmíochta de, bíonn sé níos brabúsaí nuair a chuirtear ceist ar shard amháin, má tá a mhéid inchomparáide le méid cromáin an nód. Ligeann sé seo duit an chuid “te” den innéacs a choinneáil i gcarn agus rochtain tapa a fháil air. Nuair a bhíonn go leor “páirteanna te”, díghrádaíonn luas an chuardaigh innéacs.

Nuair a thosaíonn nód ag déanamh fiosrúchán cuardaigh ar shard amháin, leithdháileann sé roinnt snáitheanna atá comhionann le líon na gcroí hipearthreadála den mheaisín fisiceach. Má chuireann ceist chuardaigh isteach ar líon mór shards, ansin fásann líon na snáitheanna go comhréireach. Bíonn tionchar diúltach aige seo ar luas cuardaigh agus bíonn tionchar diúltach aige ar innéacsú sonraí nua.

Chun an latency cuardaigh riachtanach a sholáthar, shocraigh muid SSD a úsáid. Chun iarratais a phróiseáil go tapa, bhí ar na meaisíní a d'óstáil na coimeádáin seo 56 croí ar a laghad a bheith acu. Roghnaíodh an figiúr de 56 mar luach leordhóthanach coinníollach a chinneann líon na snáitheanna a ghinfidh Elasticsearch le linn oibriú. In Elasitcsearch, braitheann go leor paraiméadair linnte snáithe go díreach ar líon na gcroíthe atá ar fáil, rud a théann i bhfeidhm go díreach ar an líon riachtanach nóid sa bhraisle de réir an phrionsabail “níos lú cores - níos mó nóid”.

Mar thoradh air sin, fuair muid amach go bhfuil meáchan shard thart ar 20 ghigibheart ar an meán, agus tá 1 shards in aghaidh an innéacs. Dá réir sin, má rothlaíonn muid iad uair amháin gach 360 uair an chloig, ansin ní mór dúinn 48 acu. Tá sonraí ar feadh 15 lá i ngach innéacs.

Ciorcaid scríbhneoireachta agus léitheoireachta sonraí

Déanaimis amach conas a thaifeadtar sonraí sa chóras seo.

Ligean le rá go dtagann iarratas éigin ó Graylog chuig an gcomhordaitheoir. Mar shampla, ba mhaith linn a innéacs 2-3 sraitheanna.

Tar éis don chomhordaitheoir iarratas a fháil ó Graylog, cuireann sé ceist ar an máistir: “San iarraidh innéacsú, shonraigh muid innéacs go sonrach, ach níor sonraíodh an shard a scríobh é.”

Freagraíonn an máistir: “Scríobh an fhaisnéis seo chuig shard uimhir 71,” agus ina dhiaidh sin seoltar díreach chuig an nód sonraí ábhartha í, áit a bhfuil bunshard uimhir 71 suite.

Ina dhiaidh sin déantar an logáil idirbheart a mhacasamhlú chuig macasamhail-shard, atá suite i lárionad sonraí eile.

Braisle Elasticsearch 200 TB+

Tagann iarratas cuardaigh ó Graylog chuig an gcomhordaitheoir. Déanann an comhordaitheoir é a atreorú de réir an innéacs, agus déanann Elasticsearch iarratais a dháileadh idir an príomhshard agus an macasamhail-shard ag baint úsáide as prionsabal an robáin bhabhta.

Braisle Elasticsearch 200 TB+

Freagraíonn na 180 nód go míchothrom, agus cé go bhfuil siad ag freagairt, tá an comhordaitheoir ag bailiú faisnéise atá “spíte” cheana féin ag nóid sonraí níos tapúla. Ina dhiaidh sin, nuair a bhíonn an fhaisnéis go léir tagtha, nó nuair a bhíonn teorainn ama bainte amach ag an iarratas, tugann sé gach rud go díreach don chliant.

Próiseálann an córas iomlán seo, ar an meán, fiosrúcháin chuardaigh le 48 uair an chloig dheireanacha i 300-400ms, gan na fiosrúcháin sin a bhfuil saoróg cheannasach acu a áireamh.

Bláthanna le Elasticsearch: socrú Java

Braisle Elasticsearch 200 TB+

Le go n-oibreodh sé ar fad mar a theastaigh uainn ar dtús, chaitheamar tréimhse an-fhada ag dífhabhtú raon leathan rudaí sa bhraisle.

Bhain an chéad chuid de na fadhbanna a aimsíodh leis an mbealach a réamh-chumrú Java de réir réamhshocraithe in Elasticsearch.

Fadhb a haon
Tá líon an-mhór tuairiscí feicthe againn go dteipeann earráid ar chumaisc mhír Lucene ag leibhéal Lucene, nuair a bhíonn poist chúlra ar siúl. Ag an am céanna, bhí sé soiléir sna logaí gur earráid OutOfMemoryError a bhí anseo. Chonaiceamar ón teiliméadracht go raibh an cromán saor, agus ní raibh sé soiléir cén fáth go raibh ag teip ar an oibríocht seo.

Iompaigh sé amach go dtarlaíonn cumaisc innéacs Lucene lasmuigh den chromáin. Agus tá coimeádáin teoranta go docht i dtéarmaí na n-acmhainní a chaitear. Ní raibh ach carn in ann teacht isteach sna hacmhainní seo (bhí an luach carn.mhéid cothrom le RAM), agus tharla earráid leithdháilte cuimhne ar roinnt oibríochtaí eischarn murar tháinig siad isteach sa ~500MB a d'fhan roimh an teorainn ar chúis éigin.

Bhí an socrú sách fánach: méadaíodh an méid RAM a bhí ar fáil don choimeádán, agus ina dhiaidh sin rinneamar dearmad go raibh fadhbanna den sórt sin againn fiú.

Fadhb a dó
4-5 lá tar éis seoladh an bhraisle, thugamar faoi deara gur thosaigh nóid sonraí ag titim amach as an mbraisle go tréimhsiúil agus iad a chur isteach tar éis 10-20 soicind.

Nuair a thosaigh muid á dhéanamh amach, d'éirigh sé amach nach bhfuil an chuimhne as-charr seo in Elasticsearch á rialú ar bhealach ar bith. Nuair a thugamar níos mó cuimhne don choimeádán, bhíomar in ann na linnte maolánacha díreacha a líonadh le faisnéis éagsúla, agus níor glanadh é ach amháin tar éis an GC sainráite a sheoladh ó Elasticsearch.

I gcásanna áirithe, ghlac an oibríocht seo go leor ama, agus le linn an ama seo d'éirigh leis an mbraisle an nód seo a mharcáil mar a d'imigh cheana. Tá cur síos maith ar an bhfadhb seo anseo.

Seo a leanas an réiteach: chuireamar teorainn le cumas Java an chuid is mó den chuimhne a úsáid lasmuigh den charn le haghaidh na n-oibríochtaí seo. Rinneamar é a theorannú go 16 ghigibheart (-XX:MaxDirectMemorySize=16g), rud a chinntigh gur glaodh ar GC follasach i bhfad níos minicí agus go bpróiseáiltear é i bhfad níos tapúla, agus mar sin nach ndéanfaí an braisle a dhíchobhsú a thuilleadh.

Fadhb a trí
Má cheapann tú go bhfuil na fadhbanna le “nóid ag fágáil an bhraisle ag an nóiméad is mó gan choinne” thart, tá dul amú ort.

Nuair a rinneamar an obair a chumrú le hinnéacsanna, roghnaigh muid mmapfs go am cuardaigh a laghdú ar shards úra le deighilt mhór. Bhí sé seo go leor botún, mar nuair a úsáidtear mmapfs an comhad a mhapáil i RAM, agus ansin oibrímid leis an comhad mapáilte. Mar gheall air seo, tharlaíonn sé nuair a dhéanann an GC iarracht snáitheanna a stopadh san iarratas, téann muid go dtí an safepoint ar feadh tréimhse an-fhada, agus ar an mbealach chuige, stopann an t-iarratas freagra a thabhairt ar iarratais an mháistir maidir le cibé an bhfuil sé beo. . Dá réir sin, creideann máistir nach bhfuil an nód i láthair sa bhraisle a thuilleadh. Tar éis seo, tar éis 5-10 soicind, oibríonn an bailitheoir truflais, tagann an nód ar an saol, téann sé isteach sa bhraisle arís agus tosaíonn sé ag tosú shards. Bhraith sé go mór cosúil le “an táirgeadh a bhí tuillte againn” agus ní raibh sé oiriúnach d’aon rud dáiríre.

Chun fáil réidh leis an iompar seo, aistrigh muid go dtí niofs caighdeánach ar dtús, agus ansin, nuair a aistrigh muid ó na cúigiú leagan de Elastic go dtí an séú, rinneamar iarracht hibridí, áit nach ndearnadh an fhadhb seo a atáirgeadh. Is féidir leat tuilleadh a léamh faoi chineálacha stórála anseo.

Fadhb a ceathair
Ansin bhí fadhb an-suimiúil eile ann ar chaitheamar léi ar feadh tréimhse thar na bearta. Rug muid air ar feadh 2-3 mhí mar go raibh a phatrún dothuigthe go hiomlán.

Uaireanta chuaigh ár gcomhordaitheoirí chuig an GC Iomlán, de ghnáth uair éigin tar éis lóin, agus níor fhill siad as sin. Ag an am céanna, agus an mhoill GC á logáil, d'fhéach sé mar seo: tá gach rud ag dul go maith, go maith, go maith, agus ansin go tobann tá gach rud ag dul go han-dona.

Ar dtús cheapamar go raibh úsáideoir olc againn a bhí ag seoladh iarratais de chineál éigin a chuir an comhordaitheoir as an modh oibre. Rinneamar iarratais a logáil ar feadh tréimhse an-fhada, ag iarraidh a dhéanamh amach cad a bhí ag tarlú.

Mar thoradh air sin, d'éirigh sé amach, faoi láthair nuair a sheolann úsáideoir iarratas ollmhór, agus go bhfaigheann sé chuig comhordaitheoir ar leith Elasticsearch, freagraíonn roinnt nóid níos faide ná cinn eile.

Agus cé go bhfuil an comhordaitheoir ag fanacht le freagra ó na nóid go léir, carnann sé na torthaí a seoladh ó na nóid a d'fhreagair cheana féin. Maidir le GC, ciallaíonn sé seo go n-athraíonn ár bpatrúin úsáide carn go han-tapa. Agus ní raibh an GC a d’úsáideamar in ann dul i ngleic leis an tasc seo.

Is é an t-aon réiteach a fuaireamar chun iompar an bhraisle a athrú sa chás seo ná aistriú go JDK13 agus úsáid a bhaint as bailitheoir bruscair Shenandoah. Réitigh sé seo an fhadhb, stop ár gcomhordaitheoirí ag titim.

Seo an áit a tháinig deireadh leis na fadhbanna le Java agus thosaigh na fadhbanna bandaleithead.

"Caora" le Elasticsearch: tréchur

Braisle Elasticsearch 200 TB+

Ciallaíonn fadhbanna le tréchur go n-oibríonn ár mbraisle ar bhealach cobhsaí, ach ag buaicphointí i líon na gcáipéisí innéacsaithe agus le linn ainlithe, ní leor an fheidhmíocht.

An chéad chomhartha a tháinig chun solais: le linn roinnt “pléascadh” i dtáirgeadh, nuair a ghintear líon an-mhór logs go tobann, tosaíonn an earráid innéacsaithe es_rejected_execution ag splancadh go minic i Graylog.

Tharla sé seo toisc go bhfuil thread_pool.write.queue ar nód sonraí amháin, go dtí go mbeidh Elasticsearch in ann an t-iarratas innéacsaithe a phróiseáil agus an fhaisnéis a uaslódáil chuig an shard ar diosca, in ann ach 200 iarratas a thaisceadh de réir réamhshocraithe. Agus i Doiciméadú Elasticsearch Is beag a deirtear faoin bparaiméadar seo. Ní shonraítear ach an líon uasta snáitheanna agus an méid réamhshocraithe.

Ar ndóigh, chuaigh muid chun an luach seo a chasadh agus fuair muid amach an méid seo a leanas: go sonrach, inár socrú, tá suas le 300 iarratas á dtaisceadh go maith, agus tá luach níos airde lán leis an bhfíric go n-eitiltimid isteach sa Iomlán GC arís.

Ina theannta sin, ós rud é gur baisceanna de theachtaireachtaí iad seo a thagann laistigh d'iarratas amháin, bhí sé riachtanach Graylog a tweak ionas nach scríobhann sé go minic agus i mbaisceanna beaga, ach i mbaisceanna ollmhóra nó uair amháin gach 3 soicind mura bhfuil an bhaisc críochnaithe fós. Sa chás seo, tharlaíonn sé go raibh an t-eolas a scríobhann muid in Elasticsearch ar fáil ní i dhá soicind, ach i gcúig cinn (a oireann dúinn go maith), ach tá líon na n-aischur a chaithfear a dhéanamh chun a bhrú trí mór. laghdaítear stack faisnéise.

Tá sé seo tábhachtach go háirithe sna chuimhneacháin sin nuair a bhíonn rud éigin crashed áit éigin agus tuairiscí furiously faoi, ionas nach a fháil go hiomlán spammed Leaisteacha, agus tar éis roinnt ama - nóid Graylog nach bhfuil inoibrithe mar gheall ar maoláin clogged.

Ina theannta sin, nuair a bhí na pléascanna céanna seo againn i dtáirgeadh, fuair muid gearáin ó ríomhchláraitheoirí agus ó thástálaithe: i láthair na huaire nuair a bhí na logaí seo ag teastáil uathu i ndáiríre, tugadh iad go han-mhall.

Thosaigh siad a dhéanamh amach é. Ar thaobh amháin, ba léir go ndearnadh próiseáil ar cheisteanna cuardaigh agus innéacsaithe araon, go bunúsach, ar na meaisíní fisiceacha céanna, agus ar bhealach amháin nó ar bhealach eile bheadh ​​tarraingt anuas áirithe ann.

Ach d’fhéadfaí dul timpeall air seo go páirteach toisc go raibh algartam le feiceáil sa séú leagan de Elasticsearch a ligeann duit fiosrúcháin a dháileadh idir nóid sonraí ábhartha nach bhfuil de réir an phrionsabail bhabhta-robín randamach (an coimeádán a dhéanann innéacsú agus a shealbhaíonn an phríomhúil. -shard a bheith an-ghnóthach, ní bheidh aon bhealach chun freagairt go tapa), ach an t-iarratas seo a chur ar aghaidh chuig coimeádán níos lú luchtaithe le macasamhail-shard, a fhreagróidh i bhfad níos tapúla. I bhfocail eile, tháinig muid ar use_adaptive_replica_selection: fíor.

Tosaíonn an pictiúr léitheoireachta ag breathnú mar seo:

Braisle Elasticsearch 200 TB+

Mar gheall ar an aistriú chuig an algartam seo bhíothas in ann feabhas suntasach a chur ar an am fiosrúcháin sna tráthanna sin nuair a bhí sreabhadh mór logs le scríobh againn.

Ar deireadh, ba í an phríomhfhadhb ná an t-ionad sonraí a bhaint gan phian.

An rud a theastaigh uainn ón mbraisle díreach tar éis nasc a chailleadh le DC amháin:

  • Má tá máistir reatha againn sa lárionad sonraí teipthe, ansin déanfar é a athroghnú agus a aistriú mar ról chuig nód eile i DC eile.
  • Bainfidh an máistir go tapa gach nóid dorochtana as an mbraisle.
  • Bunaithe ar na cinn atá fágtha, tuigfidh sé: sa lárionad sonraí caillte bhí a leithéid de shards bunscoile agus den sórt sin againn, cuirfidh sé shards macasamhail comhlántacha chun cinn go tapa sna hionaid sonraí atá fágtha, agus leanfaimid orainn ag innéacsú na sonraí.
  • Mar thoradh air seo, tiocfaidh meath de réir a chéile ar thréchur scríbhneoireachta agus léitheoireachta an bhraisle, ach go ginearálta oibreoidh gach rud, cé go mall, ach go seasta.

Mar a tharla sé, theastaigh rud mar seo uainn:

Braisle Elasticsearch 200 TB+

Agus fuair muid na rudaí seo a leanas:

Braisle Elasticsearch 200 TB+

Conas a tharla sé seo?

Nuair a thit an t-ionad sonraí, tháinig ár máistir an tranglam.

Cén fáth?

Is é an fírinne go bhfuil TaskBatcher ag an máistir, atá freagrach as tascanna agus imeachtaí áirithe a dháileadh sa bhraisle. Aon slí amach nód, aon chur chun cinn shard ó macasamhail go bunscoile, aon tasc a chruthú shard áit éigin - téann sé seo go léir ar dtús chuig TaskBatcher, áit a bhfuil sé próiseáilte go seicheamhach agus i snáithe amháin.

Nuair a tarraingíodh siar lárionad sonraí amháin, tharla gur mheas na nód sonraí go léir sna hionaid sonraí marthanacha go raibh sé de dhualgas orthu a chur in iúl don mháistir “tá a leithéid de shardaí agus a leithéid de nóid sonraí caillte againn.”

Ag an am céanna, chuir na nóid sonraí marthanacha an fhaisnéis seo go léir chuig an máistir reatha agus rinne siad iarracht fanacht le deimhniú gur ghlac sé leis. Níor fhan siad as seo, ós rud é go bhfuair an máistir tascanna níos tapúla ná mar a d'fhéadfadh sé a fhreagairt. Chuir na nóid deireadh le hiarrataí a dhéanamh arís, agus ní dhearna an máistir ag an am seo fiú iarracht iad a fhreagairt, ach bhí sé gafa go hiomlán sa tasc chun iarratais a shórtáil de réir tosaíochta.

I bhfoirm teirminéil, d'éirigh sé amach go ndearna na nóid sonraí spam an máistir go dtí an pointe go ndeachaigh sé isteach i GC iomlán. Tar éis sin, bhog ár ról máistir go dtí roinnt nód eile, go hiomlán an rud céanna a tharla dó, agus mar thoradh air sin thit an braisle go hiomlán.

Rinneamar tomhais, agus roimh leagan 6.4.0, nuair a socraíodh é seo, ba leor dúinn gan ach 10 nód sonraí a aschur as 360 ag an am céanna chun an braisle a dhúnadh go hiomlán.

D'fhéach sé rud éigin mar seo:

Braisle Elasticsearch 200 TB+

Tar éis leagan 6.4.0, áit a socraíodh an fabht uafásach seo, stop nóid sonraí an máistir a mharú. Ach níor fhág sin go raibh sé “níos cliste.” Eadhon: nuair a dhéanaimid aschur nóid sonraí 2, 3 nó 10 (aon uimhir seachas ceann amháin), faigheann an máistir roinnt chéad teachtaireacht a deir go bhfuil nód A fágtha, agus déanann sé iarracht nód B, nód C a insint faoi seo, nód D.

Agus faoi láthair, ní féidir déileáil leis seo ach trí am istigh a shocrú le haghaidh iarrachtaí duine éigin a insint faoi rud éigin, comhionann le thart ar 20-30 soicind, agus mar sin rialú a dhéanamh ar luas an ionaid sonraí ag bogadh amach as an mbraisle.

I bprionsabal, luíonn sé seo leis na ceanglais a cuireadh i láthair ar dtús leis an táirge deiridh mar chuid den tionscadal, ach ó thaobh na "eolaíocht íon" de, is fabht é seo. Cé acu, dála an scéil, a bhí socraithe go rathúil ag na forbróirí i leagan 7.2.

Thairis sin, nuair a chuaigh nód áirithe sonraí amach, tharla sé go raibh sé níos tábhachtaí faisnéis a scaipeadh faoina imeacht ná a rá leis an gcnuasach iomlán go raibh a leithéid de shards bunscoile air (chun macasamhail-shard a chur chun cinn i sonraí eile. ionad sa bhunscoil, agus d’fhéadfaí eolas a scríobh orthu).

Mar sin, nuair a bhíonn gach rud básaithe cheana féin, níl na nóid sonraí a scaoiltear marcáilte láithreach mar sean. Dá réir sin, tá iallach orainn fanacht go dtí go mbeidh na pings ar fad imithe go dtí na nóid sonraí a scaoileadh, agus go dtí go dtosaíonn ár mbraisle ag insint dúinn go bhfuil, ann, agus ansin ní mór dúinn leanúint ar aghaidh ag taifeadadh faisnéise. Is féidir leat tuilleadh a léamh faoi seo anseo.

Mar thoradh air sin, tógann oibriú lárionad sonraí a tharraingt siar inniu thart ar 5 nóiméad le linn na huaire rush. Maidir le colossus mór agus clumsy, is toradh maith go leor é seo.

Mar thoradh air sin, thángamar ar an gcinneadh seo a leanas:

  • Tá 360 nóid sonraí againn le dioscaí 700 gigabyte.
  • 60 comhordaitheoir chun trácht a ródú trí na nóid sonraí céanna seo.
  • 40 máistreachta atá fágtha againn mar chineál oidhreachta ó leaganacha roimh 6.4.0 - d'fhonn maireachtáil ar an tarraingt siar an ionaid sonraí, bhíomar ullmhaithe meabhrach a chailleadh roinnt meaisíní d'fhonn a ráthú go mbeadh córam máistrí fiú i an cás is measa
  • Baineadh úsáid as aon iarrachtaí ar róil a chomhcheangal ar choimeádán amháin toisc go mbrisfeadh an nód faoi ualach luath nó mall.
  • Úsáideann an braisle iomlán méid mór de 31 ghigibheart: ba é an toradh a bhí ar gach iarracht an méid a laghdú ná roinnt nóid a mharú ar cheisteanna troma cuardaigh leis an gcárta tosaigh nó an scoradán ciorcaid a fháil in Elasticsearch féin.
  • Ina theannta sin, chun feidhmíocht chuardaigh a chinntiú, rinneamar iarracht líon na n-rudaí sa bhraisle a choinneáil chomh beag agus is féidir, chun chomh beag imeachtaí agus is féidir a phróiseáil sa tranglam a fuair muid sa mháistir.

Ar deireadh faoi mhonatóireacht

Chun a chinntiú go n-oibríonn sé seo go léir mar a bhí beartaithe, déanaimid monatóireacht ar na nithe seo a leanas:

  • Tuairiscíonn gach nód sonraí dár scamall go bhfuil sé ann, agus go bhfuil a leithéid de shards air. Nuair a mhúchtaimid rud éigin áit éigin, tuairiscíonn an braisle tar éis 2-3 soicind gur mhúch muid nóid 2, 3, agus 4 i lár A - ciallaíonn sé seo nach féidir linn in ionaid sonraí eile, ar aon chúinse, na nóid sin a mhúchadh ar a bhfuil aon shard amháin. chlé.
  • Agus nádúr iompar an mháistir ar an eolas againn, féachaimid go han-chúramach ar líon na dtascanna atá ar feitheamh. Mar gheall ar fiú tasc amháin bhfostú, más rud é nach ndéanann sé am amach in am, teoiriciúil i gcásanna éigeandála áirithe is féidir a bheith ar an gcúis, mar shampla, a chur chun cinn macasamhail shard sa bhunscoil nach bhfuil ag obair, agus sin an fáth a innéacsú stop a bheith ag obair.
  • Breathnaímid freisin go géar ar mhoilleanna bailitheoirí truflais, toisc go raibh deacrachtaí móra againn cheana féin le linn leas iomlán a bhaint.
  • Diúltaíonn de réir snáithe a thuiscint roimh ré cá bhfuil an tranglam.
  • Bhuel, méadracht chaighdeánach cosúil le carn, RAM agus I/O.

Agus monatóireacht á tógáil agat, ní mór duit gnéithe Snámha Snáithe in Elasticsearch a chur san áireamh. Doiciméadúchán Elasticsearch cur síos ar roghanna cumraíochta agus luachanna réamhshocraithe le haghaidh cuardaigh agus innéacsú, ach tá sé go hiomlán ciúin faoi thread_pool.management Próiseálann na snáitheanna seo, go háirithe, ceisteanna cosúil le _cat/shards agus cinn eile dá samhail, atá áisiúil le húsáid agus monatóireacht á scríobh. Dá mhéad an braisle, is mó iarratais den sórt sin a fhorghníomhaítear in aghaidh an aonaid ama, agus ní hamháin nach gcuirtear an thread_pool.management thuasluaite i láthair sa doiciméadú oifigiúil, ach tá sé teoranta freisin de réir réamhshocraithe do 5 snáitheanna, a dhiúscraítear go han-tapa, tar éis. a stopann monatóireacht ag obair i gceart.

Cad ba mhaith liom a rá mar fhocal scoir: rinneamar é! Bhíomar in ann uirlis a thabhairt dár ríomhchláraitheoirí agus dár bhforbróirí ar féidir leo, i mbeagnach aon chás, faisnéis a sholáthar go tapa agus go hiontaofa faoina bhfuil ag tarlú i dtáirgeadh.

Sea, d'éirigh sé go leor casta, ach, mar sin féin, d'éirigh linn ár mianta a fheistiú i dtáirgí a bhí ann cheana féin, rud nach raibh orainn a phaiste agus a athscríobh dúinn féin.

Braisle Elasticsearch 200 TB+

Foinse: will.com

Add a comment