ụyọkọ Elasticsearch 200 TB+

ụyọkọ Elasticsearch 200 TB+

Ọtụtụ ndị mmadụ na-alụ ọgụ na Elasticsearch. Ma gịnị na-eme mgbe ịchọrọ iji ya chekwaa ndekọ "na nnukwu olu"? Ọ bụkwa ihe na-egbu mgbu ịhụ ọdịda nke ọ bụla n'ime ọtụtụ ebe data? Kedu ụdị ụlọ ị ga-arụ, oleekwa ọnyà ndị ị ga-asụ ngọngọ?

Anyị nọ na Odnoklassniki kpebiri iji elasticsearch dozie okwu njikwa log, ma ugbu a anyị na-ekerịta ahụmịhe anyị na Habr: ma gbasara ụkpụrụ ụlọ yana gbasara ọnyà.

Abụ m Pyotr Zaitsev, m na-arụ ọrụ dị ka onye nchịkwa sistemụ na Odnoklassniki. Tupu nke ahụ, abụkwara m onye nchịkwa, na-arụ ọrụ na Manticore Search, Sphinx search, Elasticsearch. Ikekwe, ọ bụrụ na ọzọ ... search pụtara, eleghị anya m ga-arụ ọrụ na ya. M na-ekerekwa òkè n'ọtụtụ ọrụ ndị mepere emepe na ntọala afọ ofufo.

Mgbe m bịara Odnoklassniki, ekwuru m n'echeghị echiche n'ajụjụ ọnụ a na m nwere ike ịrụ ọrụ na Elasticsearch. Mgbe m nwetara ya ma rụchaa ụfọdụ ọrụ ndị dị mfe, e nyere m nnukwu ọrụ nke imezi usoro nchịkwa log nke dị n'oge ahụ.

chọrọ

A haziri usoro achọrọ dị ka ndị a:

  • A ga-eji Graylog mee ihe dị ka ihu ihu. N'ihi na ụlọ ọrụ ahụ enweelarị ahụmahụ iji ngwaahịa a, ndị mmemme na ndị na-anwale ya maara ya, ọ maara na ọ dị ha mma.
  • Olu data: na nkezi 50-80 puku ozi kwa sekọnd, ma ọ bụrụ na ihe na-agbaji, mgbe ahụ, okporo ụzọ adịghị ejedebe site na ihe ọ bụla, ọ nwere ike ịbụ 2-3 nde ahịrị kwa sekọnd.
  • N'ịbụ ndị na-ekwurịta okwu na ndị ahịa chọrọ maka ọsọ nke nhazi ajụjụ ọchụchọ, anyị ghọtara na usoro a na-ahụkarị nke iji usoro dị otú ahụ bụ nke a: ndị mmadụ na-achọ ndekọ nke ngwa ha maka ụbọchị abụọ gara aga na-achọghị ichere karịa a. nke abụọ maka nsonaazụ nke ajụjụ emepụtara.
  • Ndị nchịkwa siri ọnwụ na usoro ahụ ga-adị mfe scalable ma ọ bụrụ na ọ dị mkpa, na-achọghị ka ha nyochaa miri emi n'ime otú o si arụ ọrụ.
  • Yabụ na naanị ọrụ mmezi nke sistemu ndị a chọrọ kwa oge bụ ịgbanwe ụfọdụ ngwaike.
  • Na mgbakwunye, Odnoklassniki nwere ọdịnala teknụzụ mara mma: ọrụ ọ bụla anyị malitere ga-adị ndụ na ọdịda etiti data (na mberede, enweghị atụmatụ na kpamkpam n'oge ọ bụla).

Ihe ikpeazụ achọrọ na mmejuputa ọrụ a na-efu anyị nke ukwuu, nke m ga-ekwu maka ya n'ụzọ zuru ezu.

Environment

Anyị na-arụ ọrụ na ebe data anọ, ebe ọnụ ọgụgụ data Elasticsearch nwere ike ịnọ naanị na atọ (n'ihi ọtụtụ ihe na-abụghị teknụzụ).

Ebe data anọ a nwere ihe dị ka puku iri na asatọ dị iche iche isi mmalite log - ngwaike, arịa, igwe mebere.

Ihe dị mkpa: ụyọkọ ahụ na-amalite n'ime akpa podman ọ bụghị na igwe anụ ahụ, kama na ngwaahịa igwe ojii nke otu igwe. A na-ekwe nkwa akpa akpa 2 cores, nke yiri 2.0Ghz v4, yana enwere ike ịmegharị cores fọdụrụnụ ma ọ bụrụ na ha anaghị arụ ọrụ.

Yabụ:

ụyọkọ Elasticsearch 200 TB+

Topology

M na mbụ hụrụ n'ozuzu ụdị ngwọta dị ka ndị a:

  • Ndị VIP 3-4 nọ n'azụ A-ndekọ nke ngalaba Graylog, nke a bụ adreesị nke ezigara ndekọ ahụ.
  • VIP ọ bụla bụ ihe nkwụnye ego LVS.
  • Mgbe nke ahụ gasịrị, ndekọ na-aga na batrị Graylog, ụfọdụ data dị na usoro GELF, ụfọdụ na usoro syslog.
  • Mgbe ahụ, a na-ede ihe ndị a niile na nnukwu batches na batrị nke ndị nhazi Elasticsearch.
  • Na ha, n'aka nke ya, na-eziga dee ma gụọ arịrịọ na ọnụ data dị mkpa.

ụyọkọ Elasticsearch 200 TB+

Usoro ihe omuma

Ikekwe ọ bụghị onye ọ bụla na-aghọta nkọwa okwu ahụ n'ụzọ zuru ezu, yabụ m ga-achọ ileba anya na ya ntakịrị.

Elasticsearch nwere ọtụtụ ụdị ọnụ - nna ukwu, onye nhazi, ọnụ data. Enwere ụdị abụọ ọzọ maka mgbanwe log dị iche iche na nkwukọrịta n'etiti ụyọkọ dị iche iche, mana anyị na-eji naanị ndị edepụtara.

Master
Ọ na-atụgharị ọnụ ọnụ niile dị na ụyọkọ ahụ, na-edobe maapụ ụyọkọ ọhụrụ na-ekesa ya n'etiti ọnụ ọnụ, na-ahazi mgbagha mmemme, ma na-arụ ụdị dị iche iche nke ụyọkọ nnukwu ụlọ.

Onye nhazi
Na-arụ otu ọrụ: na-anabata ịgụ ma ọ bụ dee arịrịọ sitere n'aka ndị ahịa yana ụzọ okporo ụzọ a. Ọ bụrụ na enwere arịrịọ ederede, ọ ga-abụ na ọ ga-ajụ nna ukwu nke shard nke index dị mkpa ọ kwesịrị itinye ya, ma ga-emegharị arịrịọ ahụ n'ihu.

Ọnụ data
Na-echekwa data, na-eme ajụjụ ọchụchọ na-abịa site na mpụga ma rụọ ọrụ na shards dị na ya.

Greylog
Nke a bụ ihe dị ka ngwakọta nke Kibana na Logstash na nchịkọta ELK. Graylog na-ejikọta ma UI na pipeline nhazi log. N'okpuru mkpuchi, Graylog na-agba Kafka na Zookeeper, nke na-enye njikọta na Graylog dị ka ụyọkọ. Graylog nwere ike cache ndekọ (Kafka) ma ọ bụrụ na Elasticsearch adịghị ma kwugharịa agụ na ide arịrịọ, otu na akara ndekọ dịka iwu akọwapụtara. Dị ka Logstash, Graylog nwere ọrụ iji gbanwee ahịrị tupu ịde ya na Elasticsearch.

Na mgbakwunye, Graylog nwere nchọpụta arụnyere arụnyere n'ime ọrụ na-enye ohere, dabere na otu ọnụ Elasticsearch dị, iji nweta maapụ ụyọkọ dum wee were mkpado dị iche iche were ya, nke na-eme ka o kwe omume iduzi arịrịọ na arịa dị iche iche.

N'anya ọ dị ka nke a:

ụyọkọ Elasticsearch 200 TB+

Nke a bụ nseta ihuenyo sitere na otu ihe atụ. N'ebe a, anyị na-ewulite histogram dabere na ajụjụ ọchụchọ wee gosipụta ahịrị ndị dabara adaba.

Ndekọ

Nlaghachi na nhazi usoro, ọ ga-amasị m ileba anya n'ụzọ zuru ezu na otu anyị siri wuo ụdị index ka ọ niile rụọ ọrụ nke ọma.

Na eserese dị n'elu, nke a bụ ọkwa kachasị ala: ọnụ data Elasticsearch.

Ndekọ bụ nnukwu ụlọ ọrụ mebere nke Elasticsearch shards mebere. N'onwe ya, nke ọ bụla n'ime ihe ndị ahụ abụghị ihe ọ bụla karịa ndepụta Lucene. Ndekọ Lucene ọ bụla, n'aka nke ya, nwere otu akụkụ ma ọ bụ karịa.

ụyọkọ Elasticsearch 200 TB+

Mgbe anyị na-emepụta ihe, anyị chere na iji mezuo ihe achọrọ maka ịgụ ọsọ na ọnụ ọgụgụ buru ibu nke data, anyị kwesịrị "ịgbasa" data a ọbụna n'ofe data data.

Nke a rụpụtara n'eziokwu na ọnụ ọgụgụ nke shards kwa index (na oyiri) kwesịrị ịha nhata nke ọnụ ọgụgụ data. Nke mbụ, iji hụ na ihe ngbanwe nha nhata abụọ (ya bụ, anyị nwere ike tufuo ọkara nke ụyọkọ). Na, nke abụọ, iji hazie agụ na ide arịrịọ na opekata mpe ọkara nke ụyọkọ ahụ.

Anyị buru ụzọ kpebie oge nchekwa ahụ dịka ụbọchị iri atọ.

Enwere ike igosipụta nkesa nke shards na eserese dị ka ndị a:

ụyọkọ Elasticsearch 200 TB+

Ngụkọta isi awọ gbara ọchịchịrị dum bụ ndeksi. Oghere uhie dị n'aka ekpe dị na ya bụ shard bụ isi, nke mbụ na ndeksi. Na square na-acha anụnụ anụnụ bụ shard oyiri. Ha dị na ebe data dị iche iche.

Mgbe anyị gbakwunyere shard ọzọ, ọ na-aga na ebe data nke atọ. Na, n'ikpeazụ, anyị na-enweta usoro a, nke na-eme ka o kwe omume ida DC na-enweghị nkwụsị data:

ụyọkọ Elasticsearch 200 TB+

Ntughari nke ndenye aha, i.e. eke ọhụrụ index na ihichapụ ndị kasị ochie, anyị mere ka ọ hà 48 awa (dị ka ụkpụrụ nke index ojiji: ikpeazụ 48 awa na-achọkarị).

Ogologo oge ntụgharị index a bụ n'ihi ihe ndị a:

Mgbe arịrịọ ọchụchọ rutere n'otu ọnụ data kpọmkwem, mgbe ahụ, site na nlele arụmọrụ, ọ na-aba uru karị mgbe a na-ajụ otu shard, ma ọ bụrụ na nha ya dị ka nha nke hips node. Nke a na-enye gị ohere idobe akụkụ "ọkụ" nke index na ikpo ọkụ wee nweta ya ngwa ngwa. Mgbe enwere ọtụtụ "akụkụ ọkụ", ọsọ nke ọchụchọ index na-emebi.

Mgbe ọnụ na-amalite ime ajụjụ ọchụchọ n'otu shard, ọ na-ekenye ọtụtụ eriri hà nhata ọnụọgụ hyperthreading nke igwe anụ ahụ. Ọ bụrụ na ajụjụ ọchụchọ na-emetụta ọnụ ọgụgụ buru ibu nke shards, mgbe ahụ ọnụ ọgụgụ nke eri na-eto nke ọma. Nke a nwere mmetụta na-adịghị mma na ọsọ ọchụchọ ma na-emetụta indexing nke ọhụrụ data.

Iji nye latency ọchụchọ dị mkpa, anyị kpebiri iji SSD. Iji hazie arịrịọ ngwa ngwa, igwe ndị na-ebugharị arịa ndị a ga-enwerịrị opekata mpe cores 56. Ahọpụtara ọnụ ọgụgụ 56 dị ka uru zuru oke nke na-ekpebi ọnụọgụ eri nke Elasticsearch ga-ewepụta n'oge arụ ọrụ. Na Elasitcsearch, ọtụtụ eriri ọdọ mmiri na-adabere kpọmkwem na ọnụ ọgụgụ nke cores dị, nke na-emetụta kpọmkwem ọnụ ọgụgụ ọnụ ọnụ nke ụyọkọ ahụ dị ka ụkpụrụ "Cores pere mpe - ọnụ ọgụgụ ndị ọzọ".

N'ihi ya, anyị chọpụtara na ná nkezi, shard na-atụ ihe dị ka 20 gigabytes, na e nwere 1 ​​shards kwa index. N'ihi ya, ọ bụrụ na anyị na-atụgharị ha otu ugboro kwa awa 360, mgbe ahụ anyị nwere 48 n'ime ha. Ndekọ ọ bụla nwere data maka ụbọchị 15.

Sekit ide na ịgụ data

Ka anyị chọpụta ka esi edekọ data na sistemụ a.

Ka anyị kwuo ụfọdụ arịrịọ sitere na Graylog bịarutere onye nhazi. Dị ka ihe atụ, anyị chọrọ index 2-3 puku ahịrị.

Onye nhazi ahụ, mgbe ọ natara arịrịọ sitere n'aka Graylog, jụrụ nna ya ukwu, sị: "N'ime arịrịọ indexing, anyị kpọpụtara aha aha kpọmkwem, mana nke shard iji dee ya akọwapụtaghị."

Nna-ukwu ahụ zara, sị: “Dee ozi a na nọmba shard 71,” emesia ezigara ya ozugbo na node data dị mkpa, ebe nọmba shard nke mbụ 71 dị.

Mgbe nke ahụ gasịrị, a na-emegharị ndekọ azụmahịa ahụ na oyiri-shard, nke dị na ebe data ọzọ.

ụyọkọ Elasticsearch 200 TB+

Arịrịọ ọchụchọ na-esi na Graylog bịarute onye nhazi. Onye nhazi ahụ na-atụgharị ya dịka ndeksi siri dị, ebe Elasticsearch na-ekesa arịrịọ n'etiti prime-shard na oyiri-shard site na iji ụkpụrụ okirikiri.

ụyọkọ Elasticsearch 200 TB+

Ọnụ ụzọ 180 na-azaghachi n'ụzọ na-ezighi ezi, na ka ha na-azaghachi, onye nhazi ahụ na-achịkọta ozi nke "gbasara" site na ọnụ ọgụgụ data ngwa ngwa. Mgbe nke a gasịrị, mgbe ma ozi niile bịarutere, ma ọ bụ arịrịọ ahụ erutela oge, ọ na-enye onye ahịa ihe niile ozugbo.

Sistemu a niile na-ahazi ajụjụ ọchụchọ maka awa 48 gara aga na 300-400ms, ewezuga ajụjụ ndị ahụ nwere akara ngosi na-eduga.

Okooko osisi nwere Elasticsearch: Ntọlite ​​Java

ụyọkọ Elasticsearch 200 TB+

Iji mee ka ha niile rụọ ọrụ ka anyị chọrọ na mbụ, anyị nọrọ ogologo oge na-emezigharị ihe dị iche iche dị na ụyọkọ ahụ.

Akụkụ mbụ nke nsogbu ndị achọpụtara metụtara otu e si hazie Java na ndabara na Elasticsearch.

Nsogbu nke mbụ
Anyị ahụla ọnụ ọgụgụ buru ibu nke akụkọ na na ọkwa Lucene, mgbe ọrụ ndabere na-arụ ọrụ, akụkụ Lucene jikọtara ya na njehie. N'otu oge ahụ, o doro anya na ndekọ na nke a bụ njehie OutOfMemoryError. Anyị hụrụ site na telemetry na hip nwere onwe ya, ma amabeghị ihe kpatara ọrụ a ji ada.

Ọ tụgharịrị na njikọta Lucene index na-eme n'èzí hip. Na containers bụ nnọọ nnọọ ikpuchi na usoro nke akụrụngwa iwesa. Naanị ikpo okwu nwere ike dabara na akụrụngwa ndị a (ọnụahịa heap.size dị ihe nhata na RAM), ụfọdụ arụ ọrụ na-apụ apụ dara na njehie oke ebe nchekwa ma ọ bụrụ n'ihi ihe ụfọdụ ha adabaghị na ~ 500MB nke fọdụrụ tupu oke.

Ndozi ahụ dị obere: ọnụ ọgụgụ RAM dị maka akpa ahụ mụbara, mgbe nke ahụ gasịrị, anyị chefuru na anyị nwere ọbụna nsogbu ndị dị otú ahụ.

Nsogbu abụọ
4-5 ụbọchị mgbe mmalite nke ụyọkọ ahụ, anyị chọpụtara na ọnụ ọgụgụ data malitere na-ada oge ụfọdụ site na ụyọkọ ma tinye ya mgbe 10-20 sekọnd.

Mgbe anyị malitere ịchọpụta ya, ọ bịara bụrụ na anaghị achịkwa ebe nchekwa a na Elasticsearch n'ụzọ ọ bụla. Mgbe anyị nyekwuru ebe nchekwa na akpa ahụ, anyị nwere ike iji ozi dị iche iche mejupụta ọdọ mmiri ndị ahụ kpọmkwem, ma kpochapụ ya naanị ka ewepụtara GC nke ọma na Elasticsearch.

N'ọnọdụ ụfọdụ, ọrụ a na-ewe ogologo oge, ma n'oge a, ụyọkọ jisiri ike kaa ọnụ ụzọ a ka ọ pụtalarị. A kọwara nsogbu a nke ọma ebe a.

Ngwọta ya bụ nke a: anyị kpachiri ikike Java iji ọtụtụ ebe nchekwa na-abụghị ikpo maka ọrụ ndị a. Anyị kpachiri ya na gigabytes 16 (-XX:MaxDirectMemorySize=16g), na-ahụ na a na-akpọ GC doro anya karịa ma hazie ya ngwa ngwa, si otú a na-agaghịzi emebi ụyọkọ ahụ.

Nsogbu atọ
Ọ bụrụ na ị chere na nsogbu dị na "ọnụ na-ahapụ ụyọkọ ahụ n'oge a na-atụghị anya ya" agwụla, ị na-ehie ụzọ.

Mgbe anyị jiri index hazie ọrụ ahụ, anyị họọrọ mmapfs ka belata oge ọchụchọ na shards ọhụrụ nwere nnukwu akụkụ. Nke a bụ nnọọ nhụsianya, n'ihi na mgbe ị na-eji mmapfs faịlụ na-map na RAM, na mgbe ahụ anyị na-arụ ọrụ na-mapped faịlụ. N'ihi nke a, ọ na-apụta na mgbe GC nwara ịkwụsị eri na ngwa ahụ, anyị na-aga ebe nchekwa ogologo oge, na ụzọ ya, ngwa ahụ kwụsịrị ịza arịrịọ nna ukwu maka ma ọ dị ndụ. . N'ihi ya, nna ukwu kwenyere na ọnụ ụzọ adịghịzi na ụyọkọ ahụ. Mgbe nke a gasịrị, mgbe 5-10 sekọnd gasịrị, onye na-ekpofu ihe na-arụ ọrụ, ọnụ na-abịa na ndụ, na-abanyekwa ụyọkọ ahụ ọzọ wee malite ịmalite shards. Ọ dị ya niile dị ka "mmepụta anyị kwesịrị ekwesị" na ọ dịghị mma maka ihe ọ bụla dị njọ.

Iji kpochapụ omume a, anyị buru ụzọ gbanwee na niofs ọkọlọtọ, mgbe ahụ, mgbe anyị si na nsụgharị Elastic nke ise kwaga na nke isii, anyị gbalịrị hybridfs, ebe nsogbu a na-emegharịbeghị. Ị nwere ike ịgụkwu gbasara ụdị nchekwa ebe a.

Nsogbu anọ
Mgbe ahụ, e nwere nsogbu ọzọ na-adọrọ mmasị anyị mesoro ruo oge ndekọ. Anyị jidere ya maka ọnwa 2-3 n'ihi na ụkpụrụ ya enweghị nghọta.

Mgbe ụfọdụ ndị nhazi anyị na-aga na Full GC, na-abụkarị oge mgbe nri ehihie gasịrị, ha esighi ebe ahụ lọta. N'otu oge ahụ, mgbe ị na-abanye na GC igbu oge, ọ dị ka nke a: ihe niile na-aga nke ọma, nke ọma, nke ọma, na mberede, ihe niile na-aga nke ọma.

Na mbụ anyị chere na anyị nwere onye ọrụ ọjọọ nke na-ebupụta ụdị arịrịọ nke kụpụrụ onye nhazi ahụ na ọnọdụ ọrụ. Anyị debanyere arịrịọ ruo ogologo oge, na-agbalị ịchọpụta ihe na-eme.

N'ihi ya, ọ tụgharịrị na n'oge mgbe onye ọrụ malitere nnukwu arịrịọ, ọ na-erutekwa onye nhazi Elasticsearch, ụfọdụ ọnụ na-anabata ogologo oge karịa ndị ọzọ.

Na mgbe onye nhazi ahụ na-echere nzaghachi site na ọnụ ọgụgụ niile, ọ na-akwakọba nsonaazụ ezitere site na ọnụ ụzọ ndị zaghachilarị. Maka GC, nke a pụtara na usoro ojiji anyị na-agbanwe ngwa ngwa. Na GC nke anyị ji eme ihe enweghị ike ịnagide ọrụ a.

Naanị ihe ndozi anyị chọtara iji gbanwee omume nke ụyọkọ n'ọnọdụ a bụ ịkwaga na JDK13 na iji Shenandoah mkpofu mkpofu. Nke a doziri nsogbu ahụ, ndị nhazi anyị kwụsịrị ịda.

Nke a bụ ebe nsogbu na Java kwụsịrị na nsogbu bandwit malitere.

"Mkpụrụ osisi" nwere Elasticsearch: ntinye

ụyọkọ Elasticsearch 200 TB+

Nsogbu na ntinyepụta pụtara na ụyọkọ anyị na-arụ ọrụ nke ọma, mana na ọnụ ọgụgụ kasị elu nke akwụkwọ ndenye aha na n'oge mmegharị, arụmọrụ ezughi oke.

Ihe mgbaàmà mbụ zutere: n'oge ụfọdụ "mgbawa" na mmepụta, mgbe ọnụ ọgụgụ dị ukwuu nke ndekọ na-emepụta na mberede, njehie es_rejected_execution na-amalite na-egbuke egbuke na Graylog.

Nke a bụ n'ihi na thread_pool.write.queue na otu data node, ruo mgbe Elasticsearch nwere ike hazie arịrịọ indexing na bulite ozi na shard na diski, na-enwe ike cache naanị 200 arịrịọ na ndabara. Na n'ime Akwụkwọ Elasticsearch A na-ekwu obere ihe gbasara oke a. Naanị ọnụọgụ eri kachasị na nha nke ndabara ka egosiri.

N'ezie, anyị gara ịgbagọ uru a wee chọpụta ihe ndị a: kpọmkwem, na nhazi anyị, a na-echekwa arịrịọ 300 nke ọma, na ọnụ ahịa dị elu jupụtara n'eziokwu na anyị na-efeba ọzọ na Full GC.

Na mgbakwunye, ebe ọ bụ na ndị a bụ batches nke ozi na-abata n'ime otu arịrịọ, ọ dị mkpa ka tweak Graylog ka ọ na-ede ọ bụghị mgbe niile na obere batches, mana na nnukwu batches ma ọ bụ otu ugboro kwa 3 sekọnd ma ọ bụrụ na ogbe ahụ ezughị ezu. N'okwu a, ọ na-apụta na ozi anyị na-ede na Elasticsearch na-adị ọ bụghị n'ime sekọnd abụọ, kama na ise (nke dabara anyị nke ọma), mana ọnụọgụ nke retrays nke a ga-eme ka ọ bụrụ na ị ga-ebufe nnukwu. nchịkọta ozi na-ebelata.

Nke a dị mkpa karịsịa n'oge ndị ahụ mgbe ihe dara ebe ma jiri iwe na-akọ banyere ya, ka ọ ghara ịnweta Elastic spam kpamkpam, na mgbe oge ụfọdụ gasịrị - Graylog nodes nke na-adịghị arụ ọrụ n'ihi ihe ndị na-emepụta ihe.

Tụkwasị na nke ahụ, mgbe anyị nwere otu mgbawa ndị a na mmepụta, anyị nwetara mkpesa sitere n'aka ndị mmemme na ndị nyocha: n'oge ha chọrọ n'ezie ndekọ ndị a, e nyere ha nwayọọ nwayọọ.

Ha malitere ịchọpụta ya. N'otu aka ahụ, o doro anya na a na-edozi ma ajụjụ ọchụchọ na ajụjụ indexing, n'ụzọ bụ isi, n'otu igwe anụ ahụ, na otu ụzọ ma ọ bụ ọzọ a ga-enwe ụfọdụ drawdowns.

Mana enwere ike ịgbagha nke a n'ihi na na ụdị nke isii nke Elasticsearch algorithm pụtara na-enye gị ohere ikesa ajụjụ n'etiti ọnụ data dị mkpa ọ bụghị dị ka usoro okirikiri robin siri dị (akpa nke na-edepụta ma na-ejide isi. shard nwere ike na-arụsi ọrụ ike, a gaghị enwe ụzọ ị ga-esi zaghachi ngwa ngwa), mana iji zipu arịrịọ a na obere akpa nke nwere akwa oyiri, nke ga-aza ngwa ngwa. N'ikwu ya n'ụzọ ọzọ, anyị rutere na use_adaptive_replica_selection: eziokwu.

Foto ọgụgụ na-amalite ịdị ka nke a:

ụyọkọ Elasticsearch 200 TB+

Ntughari na algọridim a mere ka o kwe omume ịkwalite oge ajụjụ n'oge ndị ahụ mgbe anyị nwere nnukwu akwụkwọ ndekọ ederede.

N'ikpeazụ, isi nsogbu bụ nkwụsị na-enweghị mgbu nke ebe data.

Ihe anyị chọrọ site na ụyọkọ ahụ ozugbo anyị kwụsịrị njikọ na otu DC:

  • Ọ bụrụ na anyị nwere nna ukwu ugbu a na data data dara ada, mgbe ahụ, a ga-ahọrọ ya ọzọ ma kwaga ya dị ka ọrụ na oghere ọzọ na DC ọzọ.
  • Nna-ukwu ga-ewepụ ngwa ngwa ọnụ ọnụ niile na-enweghị ike ịnweta na ụyọkọ ahụ.
  • Dabere na ndị fọdụrụ, ọ ga-aghọta: na furu efu data center anyị nwere ndị dị otú ahụ na ndị dị otú ahụ bụ isi shards, ọ ga-ngwa ngwa na-akwalite nkwado oyiri shards na fọdụrụ data center, na anyị ga-anọgide na-indexing data.
  • N'ihi nke a, ihe odide nke ụyọkọ na ntinye akwụkwọ ga-eji nwayọọ nwayọọ na-ebelata, ma n'ozuzu ihe niile ga-arụ ọrụ, ọ bụ ezie na nwayọọ nwayọọ, ma kwụsie ike.

Dịka ọ siri pụta, anyị chọrọ ihe dị ka nke a:

ụyọkọ Elasticsearch 200 TB+

Ma anyị nwetara ihe ndị a:

ụyọkọ Elasticsearch 200 TB+

Kedu ka o siri mee?

Mgbe data center dara, nna anyị ukwu ghọrọ ihe mgbakasị ahụ.

Почему?

Nke bụ eziokwu bụ na nna ukwu nwere TaskBatcher, nke na-ahụ maka ikesa ụfọdụ ọrụ na ihe omume na ụyọkọ. Ọpụpụ ọnụ ọ bụla, nkwalite ọ bụla nke shard site na oyiri gaa na isi, ọrụ ọ bụla iji mepụta shard ebe - ihe a niile na-ebu ụzọ gaa TaskBatcher, ebe a na-ahazi ya n'usoro na otu eri.

N'oge mwepu nke otu data center, ọ tụgharịrị na ọnụ ọgụgụ data niile dị na ebe data dị ndụ na-ewere ya dị ka ọrụ ha ịgwa nna ukwu "anyị efuola ụdị ihe ndị dị otú ahụ na ụdị data dị otú ahụ."

N'otu oge ahụ, ọnụ ọgụgụ data dị ndụ zigara onye nwe ugbu a ozi a niile ma gbalịa ichere maka nkwenye na ọ nabatara ya. Ha echereghị nke a, ebe ọ bụ na nna ukwu nwetara ọrụ ngwa ngwa karịa ka ọ zara. Ọnụ ụzọ ahụ wepụrụ arịrịọ ugboro ugboro, na nna ukwu n'oge a agbalịghị ịza ha, mana ọ na-etinye uche kpamkpam na ọrụ nke ịhazi arịrịọ site na mbụ.

N'ụdị ọnụ, ọ tụgharịrị na ọnụ data ahụ mebiri nna ukwu ahụ ruo n'ókè nke na ọ banyere GC zuru oke. Mgbe nke ahụ gasịrị, ọrụ nna anyị ukwu kwagara n'ọnụ ụzọ ọzọ, otu ihe ahụ mere ya, n'ihi ya, ụyọkọ ahụ daa kpamkpam.

Anyị were nha, na tupu ụdị 6.4.0, ebe edoziri nke a, o zuru anyị ka anyị wepụta naanị ọnụ ọgụgụ data 10 n'ime 360 ​​iji mechie ụyọkọ ahụ kpamkpam.

Ọ dị ka nke a:

ụyọkọ Elasticsearch 200 TB+

Mgbe mbipute 6.4.0 gasịrị, ebe a na-edozi ahụhụ a dị egwu, ọnụ ọgụgụ data kwụsịrị igbu nna ukwu. Ma nke ahụ emeghị ka ọ “mara ihe.” Ya bụ: mgbe anyị na-emepụta 2, 3 ma ọ bụ 10 (nọmba ọ bụla ọzọ karịa otu) data ọnụ, nna ukwu na-enweta ụfọdụ ozi mbụ na-ekwu na ọnụ A hapụrụ, na-agbalị ịgwa ọnụ B, ọnụ C banyere nke a, ọnụ D.

Ma n'oge a, nke a nwere ike ime naanị site na ịtọ oge nkwụsịtụ maka mgbalị ịkọrọ mmadụ banyere ihe, nhata ihe dịka 20-30 sekọnd, ma si otú a na-achịkwa ọsọ nke data center na-apụ na ụyọkọ ahụ.

Na ụkpụrụ, nke a dabara na ihe ndị a chọrọ na mbụ e gosipụtara na ngwaahịa ikpeazụ dị ka akụkụ nke ọrụ ahụ, ma site n'echiche nke "sayensị dị ọcha" nke a bụ ahụhụ. Kedu nke, n'ụzọ, ndị mmepe doziri nke ọma na ụdị 7.2.

Ọzọkwa, mgbe ụfọdụ ọnụ data pụtara, ọ bịara pụta na ikesa ozi gbasara ọpụpụ ya dị mkpa karịa ịgwa ụyọkọ ahụ na e nwere ndị dị otú ahụ na ndị dị otú ahụ bụ isi-shards na ya (iji kwalite replica-shard na data ọzọ. center na isi, na ozi nwere ike dee na ha).

Ya mere, mgbe ihe niile anwụọlarị, ọnụ ọgụgụ data ewepụtara na-adịghị ozugbo akara dị ka stale. N'ihi ya, a na-amanye anyị ichere ruo mgbe pings niile ga-agafe na ọnụ ọgụgụ data ewepụtara, naanị mgbe nke ahụ gasịrị, ụyọkọ anyị malitere ịgwa anyị na ebe ahụ, ebe ahụ, na ebe ahụ anyị kwesịrị ịnọgide na-edekọ ozi. Ị nwere ike ịgụkwu gbasara nke a ebe a.

N'ihi ya, ọrụ nke iwepụ ebe data taa na-ewe anyị ihe dị ka nkeji 5 n'oge awa ọsọ ọsọ. Maka nnukwu colossus dị otú ahụ na mgbagwoju anya, nke a bụ ezigbo nsonaazụ.

N'ihi ya, anyị bịara na mkpebi a:

  • Anyị nwere ọnụ ọgụgụ data 360 nwere diski 700 gigabyte.
  • Ndị nhazi 60 maka ịkwọgharị okporo ụzọ site na otu ọnụ data ndị a.
  • 40 nna ukwu nke anyị hapụrụ dị ka ụdị ihe nketa kemgbe nsụgharị tupu 6.4.0 - iji lanarị mwepu nke data center, anyị dị njikere n'uche iji tụfuo ọtụtụ igwe ka e wee kwe nkwa inwe quorum nke nna ukwu ọbụna na nke kacha njọ
  • Mgbalị ọ bụla ijikọ ọrụ n'otu akpa zutere eziokwu ahụ n'oge na-adịghị anya ọnụ ga-agbaji n'okpuru ibu.
  • Ụyọkọ ahụ dum na-eji obo.size nke gigabytes 31: mbọ niile a na-eme iji belata nha butere ma ọ bụ gbuo ụfọdụ ọnụ na ajụjụ ọchụchọ dị arọ site na iji akara ọhịa na-eduga ma ọ bụ nweta ihe mgbawa sekit na Elasticsearch n'onwe ya.
  • Na mgbakwunye, iji hụ na arụmọrụ ọchụchọ, anyị gbalịrị idebe ọnụ ọgụgụ nke ihe dị na ụyọkọ ahụ dị ka o kwere mee, iji mee ka ihe omume ole na ole dị ka o kwere mee n'ime ọkpọ nke anyị nwetara na nna ukwu.

N'ikpeazụ banyere nlekota oru

Iji hụ na ihe a niile na-arụ ọrụ dịka ebum n'uche, anyị na-enyocha ihe ndị a:

  • Ọnụ data ọ bụla na-akọ na ígwé ojii anyị na ọ dị, ma e nwere ihe ndị dị otú ahụ na nke dị na ya. Mgbe anyị na-emenyụ ihe ebe, ụyọkọ ahụ na-akọ mgbe 2-3 sekọnd na n'etiti A anyị menyụọ ọnụ 2, 3, na 4 - nke a pụtara na na ndị ọzọ data centers anyị n'okpuru ọnọdụ ọ bụla enweghị ike imenyụ ọnụ ndị ahụ nke e nwere nanị otu shard. aka ekpe.
  • N'ịmara ọdịdị nke omume nna ukwu, anyị na-ele anya nke ọma na ọnụ ọgụgụ nke ọrụ na-echere. N'ihi na ọbụna otu ọrụ rapaara, ma ọ bụrụ na ọ naghị agafe oge, usoro ihe omume na ụfọdụ ọnọdụ mberede nwere ike ịghọ ihe kpatara ya, dịka ọmụmaatụ, nkwalite nke shard oyiri na isi anaghị arụ ọrụ, ya mere indexing ga-akwụsị ịrụ ọrụ.
  • Anyị na-elekwa anya nke ọma na igbu oge mkpofu, n'ihi na anyị enweelarị nnukwu nsogbu na nke a n'oge kachasị mma.
  • Aju site na threadia ka oghota n'ihu ebe akuko di.
  • Ọ dị mma, metrik ọkọlọtọ dị ka ikpo, RAM na I/O.

Mgbe ị na-ewu nleba anya, ị ga-eburu n'uche atụmatụ nke ọdọ mmiri Elasticsearch. Akwụkwọ Elasticsearch na-akọwa nhazi nhọrọ na ndabara ụkpụrụ maka search na indexing, ma na-agbachi nkịtị kpamkpam banyere thread_pool.management. Usoro ndị a, karịsịa, ajụjụ dị ka _cat / shards na ndị ọzọ yiri ya, nke dị mfe iji mgbe ị na-ede nlekota. Nnukwu ụyọkọ ahụ, ka a na-eme arịrịọ ndị dị otú ahụ kwa nkeji oge, na thread_pool.management ahụ e kwuru n'elu abụghị naanị na ọ bụghị naanị na akwụkwọ gọọmentị, kamakwa ọ na-ejedebe na ndabara na eriri 5, nke a na-ewepụ ngwa ngwa, mgbe ọ gasịrị. nke nlekota na-akwụsị ịrụ ọrụ nke ọma.

Ihe m chọrọ ikwu na mmechi: anyị mere ya! Anyị nwere ike ịnye ndị mmemme na ndị na-emepụta ngwá ọrụ nke, n'ihe fọrọ nke nta ka ọ bụrụ ọnọdụ ọ bụla, nwere ike ịnye ozi ngwa ngwa na ntụkwasị obi gbasara ihe na-eme na mmepụta.

Ee, ọ tụgharịrị bụrụ ihe gbagwojuru anya, mana, ka o sina dị, anyị jisiri ike kwekọọ n'ọchịchọ anyị n'ime ngwaahịa ndị dị adị, nke anyị na-enweghị kwachie ma degharịa maka onwe anyị.

ụyọkọ Elasticsearch 200 TB+

isi: www.habr.com

Tinye a comment