Ang akong ngalan mao si Igor Sidorenko, ako usa ka teknikal nga lider sa grupo sa mga admin nga nagmintinar sa tibuok nga imprastraktura sa Domclick.
Gusto nakong ipaambit ang akong kasinatian sa pag-set up sa distributed data storage sa Elasticsearch. Atong tan-awon kung unsang mga setting sa mga node ang responsable sa pag-apod-apod sa mga shards, kung giunsa ang paglihok ug paglihok sa ILM.
Kadtong nagtrabaho sa mga troso, sa usa ka paagi o sa lain, nag-atubang sa problema sa dugay nga pagtipig alang sa pag-analisar sa ulahi. Sa Elasticsearch, kini labi ka tinuod, tungod kay ang tanan dili maayo sa pag-andar sa curator. Ang Bersyon 6.6 nagpaila sa pagpaandar sa ILM. Kini naglangkob sa 4 ka hugna:
Mainit - Ang indeks aktibo nga gi-update ug gipangutana.
Mainit - ang indeks wala na gi-update, apan gipangutana gihapon.
Bugnaw - Ang indeks wala na gi-update ug panagsa ra nga gipangutana. Ang impormasyon kinahanglang pangitaon gihapon, apan ang mga pangutana mahimong mas hinay.
Pagtangtang - Dili na kinahanglan ang indeks ug mahimo nang luwas nga mapapas.
Gihatag
Mainit nga Data sa Elasticsearch: 24 nga mga processor, 128 GB nga memorya, 1,8 TB SSD RAID 10 (8 nodes).
Kini nga mga setting indibidwal, kini tanan nagdepende sa lugar sa mga node, ang gidaghanon sa mga indeks, mga troso, ug uban pa. Kami adunay 2-3 TB nga datos kada adlaw.
5 ka adlaw - Mainit nga hugna (8 main / 1 replika).
20 ka adlaw - Mainit nga yugto (pagkunhod-index 4 main / 1 replika).
90 ka adlaw - Bugnaw nga hugna (freeze-index 4 main / 1 replika).
120 ka adlaw - Pagtangtang nga hugna.
Pag-set up sa Elasticsearch
Aron maapod-apod ang usa ka shard sa mga node, kinahanglan nimo ang usa ra ka parameter:
Hot- mga node:
~]# cat /etc/elasticsearch/elasticsearch.yml | grep attr
# Add custom attributes to the node:
node.attr.box_type: hot
Mainit- mga node:
~]# cat /etc/elasticsearch/elasticsearch.yml | grep attr
# Add custom attributes to the node:
node.attr.box_type: warm
Bugnaw- mga node:
~]# cat /etc/elasticsearch/elasticsearch.yml | grep attr
# Add custom attributes to the node:
node.attr.box_type: cold
Pag-set up sa Logstash
Giunsa kini tanan ug giunsa namon gipatuman kini nga bahin? Magsugod kita pinaagi sa pagkuha sa mga log sa Elasticsearch. Adunay duha ka paagi:
Gikuha sa Logstash ang mga troso gikan sa Kafka. Makakuha ug limpyo o makabig sa imong kilid.
Adunay nagsulat mismo sa Elasticsearch, pananglitan, usa ka APM server.
Hunahunaa ang usa ka pananglitan sa pagdumala sa mga indeks pinaagi sa Logstash. Naghimo kini og indeks ug magamit niini sumbanan sa indeks ug katugbang ILM.
Adunay usa ka sukaranan nga sumbanan nga magamit sa tanan nga bag-ong mga indeks. Gitakda niini ang pag-apod-apod sa mga mainit nga indeks, ang gidaghanon sa mga shards, mga replika, ug uban pa. Ang gibug-aton sa template gitino pinaagi sa kapilian order. Ang mga template nga adunay mas taas nga gibug-aton nag-override sa kasamtangan nga mga parameter sa template o pagdugang og mga bag-o.
Adunay mga problema sa yugto sa pag-setup ug pag-debug.
Mainit nga yugto
Alang sa husto nga rotation sa mga indeks, ang presensya sa katapusan kritikal index_name-date-000026 format nga mga numero 000001. Adunay mga linya sa code nga nagsusi sa mga indeks gamit ang usa ka regular nga ekspresyon alang sa presensya sa mga numero sa katapusan. Kung dili, adunay usa ka sayup, walaβy mga palisiya nga magamit sa indeks, ug kini kanunay nga naa sa mainit nga yugto.
Mainit nga yugto
Pahulay (cutoff) β pagkunhod sa gidaghanon sa mga shards, tungod kay kita adunay 4 nodes sa mainit ug bugnaw nga mga hugna. Ang dokumentasyon naglangkob sa mosunod nga mga linya:
Ang indeks kinahanglan nga read-only.
Ang usa ka kopya sa matag shard sa indeks kinahanglan magpuyo sa parehas nga node.
Ang kahimtang sa kahimsog sa cluster kinahanglan nga berde.
Aron pagpul-ong sa usa ka indeks, ang Elasticsearch mobalhin sa tanang nag-unang shards ngadto sa usa ka node, mag-duplicate sa naputol nga index uban sa gikinahanglan nga mga parameter, ug dayon tangtangon ang daan. Parameter total_shards_per_node kinahanglan nga katumbas o labaw pa sa gidaghanon sa mga nag-unang shards nga mohaum sa usa ka node. Kung dili, adunay mga pahibalo ug ang mga shards dili molihok sa husto nga mga node.
GET / shrink-k8s-ingress-2020.06.06-000025/_settings
freeze (pag-freeze) - Gi-freeze namo ang index para ma-optimize ang mga pangutana sa historical data.
Ang mga pagpangita nga gihimo sa frozen nga mga indeks naggamit sa gamay, gipahinungod, search_throttled threadpool aron makontrol ang gidaghanon sa mga dungan nga pagpangita nga miigo sa mga frozen shards sa matag node. Gilimitahan niini ang gidaghanon sa dugang nga panumduman nga gikinahanglan alang sa lumalabay nga mga istruktura sa datos nga katumbas sa mga frozen shards, nga tungod niini nanalipod sa mga node batok sa sobra nga pagkonsumo sa memorya.
Ang mga frozen nga indeks kay read-only: dili ka maka-index niini.
Ang mga pagpangita sa nagyelo nga mga indeks gilauman nga hinayhinay nga ipatuman. Ang mga frozen nga indeks wala gituyo alang sa taas nga load sa pagpangita. Posible nga ang pagpangita sa usa ka nagyelo nga indeks mahimong mokabat sa mga segundo o minuto aron makompleto, bisan kung ang parehas nga mga pagpangita nahuman sa millisecond kung ang mga indeks wala ma-freeze.
Mga resulta
Kami nakakat-on unsaon pag-andam sa mga node para sa pagtrabaho uban sa ILM, pag-set up og template para sa pag-apod-apod sa mga shards sa mga hot node, ug pag-set up sa ILM para sa index nga adunay tanang hugna sa kinabuhi.