Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Gisugyot ko nga basahon nimo ang transcript sa lecture nga "Hadoop. ZooKeeper" gikan sa serye nga "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Unsa ang ZooKeeper, ang lugar niini sa Hadoop ecosystem. Ang bakak bahin sa distributed computing. Scheme sa usa ka standard distributed nga sistema. Kalisud sa pag-coordinate sa mga gipang-apod-apod nga sistema. Kasagaran nga mga problema sa koordinasyon. Ang mga prinsipyo luyo sa disenyo sa ZooKeeper. Modelo sa datos sa ZooKeeper. znode nga mga bandila. Mga sesyon. Client API. Primitives (konfigurasyon, membership sa grupo, yano nga mga kandado, pagpili sa lider, pag-lock nga walay epekto sa panon). Ang arkitektura sa ZooKeeper. ZooKeeper DB. ZAB. Nangayo nga handler.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Karon maghisgot kita bahin sa ZooKeeper. Kini nga butang mapuslanon kaayo. Kini, sama sa bisan unsang produkto sa Apache Hadoop, adunay logo. Kini naghulagway sa usa ka lalaki.

Sa wala pa kana, nag-una kami naghisgot bahin sa kung giunsa ang pagproseso sa datos didto, kung giunsa kini pagtipig, kana, kung giunsa kini gamiton sa bisan unsang paagi ug magamit kini bisan unsang paagi. Ug karon gusto kong maghisgot og gamay mahitungod sa pagtukod og mga gipang-apod-apod nga mga aplikasyon. Ug ang ZooKeeper usa sa mga butang nga nakapasayon ​​niini. Kini usa ka matang sa serbisyo nga gidisenyo alang sa usa ka matang sa koordinasyon sa interaksyon sa mga proseso sa gipang-apod-apod nga mga sistema, sa gipang-apod-apod nga mga aplikasyon.

Ang panginahanglan alang sa ingon nga mga aplikasyon nagkadako ug nagkadako matag adlaw, mao kana ang bahin sa among kurso. Sa usa ka bahin, ang MapReduce ug kining andam nga gambalay nagtugot kanimo sa pag-level niini nga pagkakomplikado ug pagpahigawas sa programmer gikan sa pagsulat sa mga primitibo sama sa interaksyon, koordinasyon sa mga proseso. Apan sa laing bahin, walay usa nga naggarantiya nga kini dili kinahanglan nga buhaton pa. Dili kanunay ang MapReduce o uban pang andam nga mga balangkas hingpit nga mopuli sa pipila ka mga kaso nga dili mapatuman niini nga usa. Lakip ang MapReduce mismo ug usa ka hugpong sa ubang mga proyekto sa Apache, sila, sa tinuud, gipang-apod-apod usab nga mga aplikasyon. Ug aron mas dali ang pagsulat, gisulat nila ang ZooKeeper.

Sama sa tanang mga aplikasyon nga may kalabotan sa Hadoop, gimugna kini sa Yahoo! Karon kini usab ang opisyal nga aplikasyon sa Apache. Dili kini aktibo nga naugmad sama sa HBase. Kung moadto ka sa JIRA HBase, unya matag adlaw adunay daghang mga ulat sa bug, usa ka hugpong sa mga sugyot aron ma-optimize ang usa ka butang, i.e. ang kinabuhi sa proyekto kanunay nga nagpadayon. Ug ang ZooKeeper, sa usa ka bahin, usa ka medyo yano nga produkto, ug sa laing bahin, kini nagsiguro sa kasaligan niini. Ug kini sayon ​​​​nga gamiton, mao nga nahimo kini nga sumbanan sa mga aplikasyon sulod sa Hadoop ecosystem. Mao nga naghunahuna ko nga mapuslanon ang pagrepaso niini aron masabtan kung giunsa kini molihok ug kung giunsa kini gamiton.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Kini usa ka hulagway gikan sa pipila ka lecture nga among nabatonan. Makaingon kita nga orthogonal kini sa tanan nga atong gikonsiderar hangtod karon. Ug ang tanan nga gipakita dinhi, sa usa ka degree o lain, nagtrabaho kauban ang ZooKeeper, nga mao, kini usa ka serbisyo nga naggamit sa tanan niini nga mga produkto. Bisan ang HDFS o MapReduce dili magsulat sa ilang kaugalingon nga parehas nga mga serbisyo nga espesipikong magamit alang kanila. Tungod niini, gigamit ang ZooKeeper. Ug gipasimple niini ang pag-uswag ug pipila ka mga butang nga may kalabutan sa mga sayup.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Diin gikan kining tanan? Mopatim-aw nga naglunsad sila og duha ka aplikasyon nga magkaparehas sa lainlaing mga kompyuter, gikonektar kini sa usa ka pisi o sa usa ka grid, ug ang tanan nagtrabaho. Apan ang problema mao nga ang Network dili kasaligan, ug kung imong gisimhot ang trapiko o tan-awon kung unsa ang nahitabo didto sa usa ka ubos nga lebel, kung giunsa ang mga kliyente nga nakig-uban sa Network, kanunay nimo makita nga ang pipila ka mga pakete nawala, masuko. Dili alang sa bisan unsa nga sila adunay mga protocol sa TCP nga nagtugot kanimo sa pag-establisar sa usa ka sesyon ug paggarantiya sa paghatud sa mga mensahe. Apan sa bisan unsa nga kaso, bisan ang TCP dili kanunay makaluwas. Ang tanan adunay timeout. Ang network mahimong mahulog sa makadiyot. Makapiyong lang siya. Ug kining tanan nagdala sa kamatuoran nga dili ka makasalig sa kamatuoran nga ang Network kasaligan. Kini ang nag-unang kalainan gikan sa pagsulat sa parallel nga mga aplikasyon nga nagdagan sa usa ka kompyuter o sa usa ka supercomputer, diin walay network, diin adunay mas kasaligan nga data exchange bus sa memorya. Ug kini ang sukaranan nga kalainan.

Lakip sa ubang mga butang, gamit ang Network, kanunay adunay usa ka matang sa latency. Ang disk aduna usab niini, apan ang Web adunay daghan pa. Ang latency usa ka matang sa oras sa paglangan, nga mahimong gamay ug hinungdanon.

Nagbag-o ang topology sa network. Unsa ang topology mao ang pagbutang sa among kagamitan sa network. Adunay mga data center, adunay mga racks nga nagbarog didto, adunay mga kandila. Kining tanan mahimong madugtong pag-usab, mabalhin, ug uban pa. Kining tanan kinahanglan usab nga tagdon. Nagbag-o ang mga IP, nagbag-o ang ruta, diin kita adunay trapiko. Kini kinahanglan usab nga tagdon.

Ang network mahimo usab nga magbag-o sa mga termino sa kagamitan. Gikan sa praktis, makaingon ko nga ang among mga network engineer ganahan kaayo nga mag-update matag karon ug unya sa usa ka butang sa mga kandila. Sa kalit lang adunay usa ka bag-ong firmware nga nigawas ug dili sila interesado sa pipila ka cluster sa Hadoop. Naa silay kaugalingong trabaho. Alang kanila, ang nag-unang butang mao nga ang Network nagtrabaho. Tungod niini, gusto nila nga i-upload pag-usab ang usa ka butang didto, aron mahimo ang pag-flash sa ilang hardware, samtang ang hardware usab magbag-o matag karon ug unya. Kining tanan kinahanglang tagdon sa usa ka paagi. Kining tanan makaapekto sa among gipang-apod-apod nga aplikasyon.

Kasagaran, ang mga tawo nga nagsugod sa pagtrabaho uban sa usa ka dako nga kantidad sa data, sa pipila ka rason, nagtuo nga ang Web walay kinutuban. Kung adunay usa ka file nga daghang terabytes, mahimo nimo kini dad-on sa imong server o kompyuter, ablihan kini gamit Iring ug tan-awa. Ang usa pa sa mga sayup mao ang Vim tan-awa ang mga troso. Ayaw gayud kana buhata, tungod kay kini daotan. Tungod kay gisulayan ni Vim nga i-buffer ang tanan, i-load ang tanan sa memorya, labi na kung magsugod kita sa pag-navigate sa kini nga log ug mangita usa ka butang. Kini ang mga butang nga nakalimtan, apan angay nga hunahunaon.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Mas sayon ​​ang pagsulat sa usa ka programa nga nagdagan sa usa ka kompyuter nga adunay usa ka processor.

Kung motubo ang among sistema, gusto namon nga iparehas kining tanan, ug iparehas dili lamang sa usa ka kompyuter, apan usab sa usa ka cluster. Ang pangutana mitungha - unsaon pag-coordinate niini nga negosyo? Ang among mga aplikasyon mahimong dili gani makig-uban sa usag usa, apan kami naglunsad og daghang mga proseso nga managsama sa daghang mga server. Ug unsaon pag-monitor nga maayo ang tanan alang kanila? Sila, pananglitan, nagpadala ug usa ka butang sa Web. Kinahanglang magsulat sila sa usa ka dapit mahitungod sa ilang estado, pananglitan, ngadto sa pipila ka database o sa usa ka log, unya i-aggregate kini nga log ug dayon analisa kini sa usa ka dapit. Dugang pa, kinahanglan nimo nga tagdon nga ang proseso nagtrabaho, nagtrabaho, kalit nga adunay usa ka matang sa sayup nga nagpakita niini o kini nahagsa, unya kung unsa kadali naton mahibal-an kini?

Klaro nga kining tanan dali nga mabantayan. Maayo usab kini, apan ang pagmonitor usa ka limitado nga butang nga nagtugot kanimo sa pag-monitor sa pipila ka mga butang sa labing taas nga lebel.

Kung gusto namon nga ang among mga proseso magsugod sa pagpakig-uban sa usag usa, pananglitan, magpadala pipila ka mga datos sa usag usa, nan ang pangutana usab mitungha - kung giunsa kini mahitabo? Adunay ba usa ka matang sa kondisyon sa lumba, mag-overwrite ba sila sa usag usa, moabut ba ang datos sa husto, adunay nawala sa dalan? Gikinahanglan ang paghimo og usa ka matang sa protocol, ug uban pa.

Ang koordinasyon sa tanan niini nga mga proseso dili usa ka gamay nga butang. Ug gipugos niini ang nag-develop sa pag-adto bisan sa ubos ug pagsulat sa mga sistema bisan gikan sa wala o dili hingpit gikan sa wala, apan dili kini kadali.

Kung nakahimo ka sa usa ka cryptographic algorithm o bisan gipatuman kini, unya kuhaa kini ug ilabay dayon, tungod kay lagmit dili kini molihok alang kanimo. Kini lagmit adunay daghang mga kasaypanan nga nakalimtan nimo nga makit-an. Sa bisan unsa nga kaso ayaw kini gamita alang sa usa ka butang nga seryoso, tungod kay lagmit kini dili lig-on. Tungod kay ang tanan nga mga algorithm nga anaa, sila gisulayan sa panahon sa usa ka hataas nga panahon. Gipangita kini sa mga bug sa komunidad. Kini usa ka lahi nga isyu. Ug kini mao ang sama nga dinhi. Kung posible nga dili ipatuman ang usa ka matang sa pag-synchronize sa proseso sa imong kaugalingon, nan mas maayo nga dili kini buhaton, tungod kay kini lisud kaayo ug magdala kanimo sa dili makanunayon nga dalan sa kanunay nga pagpangita sa mga sayup.

Karon naghisgot kami bahin sa ZooKeeper. Sa usa ka bahin, kini usa ka gambalay, sa laing bahin, kini usa ka serbisyo nga naghimo sa kinabuhi nga mas sayon ​​alang sa developer ug naghimo niini nga sayon ​​kutob sa mahimo sa pagpatuman sa lohika ug pag-coordinate sa atong mga proseso.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Hinumdumi kung unsa ang hitsura sa usa ka sumbanan nga giapod-apod nga sistema. Kini ang among gihisgutan - kini ang HDFS, HBase. Adunay usa ka Agalon nga proseso nga nagdumala sa mga mamumuo, mga proseso sa ulipon. Siya ang responsable sa pag-coordinate ug pag-apod-apod sa mga buluhaton, pag-restart sa mga trabahante, paglansad sa mga bag-o, ug pagbalanse sa karga.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Ang usa ka mas abante nga butang mao ang Serbisyo sa Koordinasyon, i.e. ibalhin ang buluhaton sa koordinasyon mismo sa usa ka bulag nga proseso, dugang nga pagpadagan sa usa ka matang sa backup o stanby sa Agalon nga managsama, tungod kay ang Agalon mahimong ma-crash. Ug kung ang Agalon mahulog, nan ang atong sistema dili molihok. Nag-backup kami. Ang uban nag-ingon nga ang Agalon kinahanglan nga kopyahon sa backup. Mahimo usab kini nga itugyan sa Coordination Service. Apan sa kini nga laraw, ang Agalon mismo ang nag-coordinate sa mga trabahante, dinhi ang serbisyo nag-coordinate sa pagkopya sa datos.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Ang usa ka mas abante nga kapilian mao kung ang among serbisyo naghimo sa tanan nga koordinasyon, sama sa naandan nga gibuhat. Gidawat niya ang responsibilidad sa pagsiguro nga ang tanan molihok. Ug kung adunay usa ka butang nga dili molihok, mahibal-an namon kini ug maningkamot nga masulbad kini nga kahimtang. Sa bisan unsa nga kaso, kita nahabilin uban sa Agalon, nga sa usa ka paagi nakig-uban sa mga ulipon, makapadala sa datos, impormasyon, mga mensahe, ug uban pa pinaagi sa usa ka serbisyo.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Adunay usa ka labi pa ka abante nga laraw, kung wala kami usa ka Agalon, ang tanan nga mga buko mga agalon-ulipon, lahi sa ilang pamatasan. Apan parehas ra, kinahanglan silang makig-uban sa usag usa, mao nga adunay usa ka piho nga serbisyo alang sa pag-coordinate niini nga mga aksyon. Tingali, si Cassandra, nga nagtrabaho sumala niini nga prinsipyo, mohaum niini nga laraw.

Lisud isulti kung hain niini nga mga laraw ang labing maayo. Ang matag usa adunay iyang mga bentaha ug disbentaha.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Ug dili kinahanglan nga mahadlok sa pipila ka mga butang uban sa Agalon, tungod kay, ingon sa gipakita sa praktis, dili siya dali nga kanunay nga maghatag. Ang nag-unang butang dinhi mao ang pagpili sa husto nga solusyon alang sa pag-host niini nga serbisyo sa usa ka bulag nga gamhanan nga node aron kini adunay igo nga mga kahinguhaan aron, kung mahimo, ang mga tiggamit walay access didto, aron dili sila aksidenteng makapatay niini nga proseso. Apan sa samang higayon, sa ingon nga pamaagi, mas sayon ​​​​ang pagdumala sa mga trabahante gikan sa Master Process, i.e., kini nga pamaagi mas simple sa mga termino sa pagpatuman.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Ug kini nga laraw (sa ibabaw) tingali mas komplikado, apan mas kasaligan.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Ang nag-unang problema mao ang partial failures. Pananglitan, kung magpadala kami usa ka mensahe sa Network, adunay usa ka matang sa aksidente nga mahitabo, ug ang nagpadala sa mensahe dili mahibal-an kung ang iyang mensahe nakaabot ug kung unsa ang nahitabo sa bahin sa tigdawat, dili mahibal-an kung ang mensahe giproseso sa husto. , i.e. dili siya makadawat ug bisan unsang kumpirmasyon.

Subay niini, kinahanglan natong iproseso kini nga sitwasyon. Ug ang pinakasimple nga butang mao ang pagpadala pag-usab niini nga mensahe ug paghulat hangtod makadawat kami usa ka tubag. Sa kini nga kaso, wala kini gikonsiderar bisan diin kung nabag-o ang kahimtang sa tigdawat. Tingali magpadala kami usa ka mensahe ug idugang ang parehas nga datos sa makaduha.

Ang ZooKeeper nagtanyag og mga paagi sa pag-atubang sa maong mga kapakyasan, nga makapasayon ​​usab sa kinabuhi alang kanato.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Sama sa gihisgutan sa sayo pa, kini susama sa pagsulat sa multi-threaded nga mga programa, apan ang nag-unang kalainan mao nga sa gipang-apod-apod nga mga aplikasyon nga atong gitukod sa lain-laing mga makina, ang bugtong paagi sa komunikasyon mao ang Network. Sa tinuud, kini usa ka arkitektura nga wala gipaambit. Ang matag proseso o serbisyo nga nagdagan sa usa ka makina adunay kaugalingon nga memorya, kaugalingon nga disk, kaugalingon nga processor, nga wala niini ipaambit sa bisan kinsa.

Kung nagsulat kami usa ka multi-threaded nga programa sa usa ka kompyuter, nan magamit namon ang gipaambit nga panumduman aron magbaylo sa datos. Adunay kami usa ka konteksto nga switch didto, ang mga proseso mahimong magbalhin. Kini makaapekto sa performance. Sa usa ka bahin, walay ingon nga butang sa programa sa cluster, apan adunay mga problema sa Network.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Tungod niini, ang mga nag-unang problema nga motumaw sa pagsulat sa mga gipang-apod-apod nga sistema mao ang pagsumpo. Nagsulat kami usa ka matang sa aplikasyon. Kung kini yano, nan among gi-hardcode ang tanan nga mga lahi sa mga numero sa code, apan kini dili kombenyente, tungod kay kung magdesisyon kami nga imbes nga usa ka oras sa tunga sa segundo, gusto namon ang usa ka oras sa usa ka segundo, nan kinahanglan namon nga i-recompile ang aplikasyon. , paligdi na usab ang tanan. Kini usa ka butang kung kini naa sa usa ka makina, kung mahimo nimo kini i-restart, ug kung kami adunay daghang mga makina, kinahanglan namon nga kopyahon kanunay ang tanan. Kinahanglan natong sulayan nga mahimong ma-configure ang aplikasyon.

Dinhi naghisgot kami bahin sa static nga pagsumpo alang sa mga proseso sa sistema. Dili pa kini, tingali, gikan sa punto sa pagtan-aw sa operating system, mahimo kini nga usa ka static nga pag-configure alang sa among mga proseso, i.e. kini usa ka pagsumpo nga dili mahimo’g makuha ug ma-update.

Ug usab adunay usa ka dinamikong pagsumpo. Kini ang mga parametro nga gusto namong usbon sa langaw aron sila makuha didto.

Unsa ang problema dinhi? Gi-update namo ang config, gilukot kini, unsa man? Ang problema tingali nga sa usa ka bahin gilukot namo ang config, apan nakalimot sa bag-ong butang, ang config nagpabilin didto. Ikaduha, samtang naglihok kami, sa usa ka lugar ang pag-configure gi-update, apan sa usa ka lugar dili. Ug ang pipila ka mga proseso sa among aplikasyon nga nagdagan sa parehas nga makina gi-restart sa usa ka bag-ong config, ug sa usa ka lugar nga adunay daan. Mahimong moresulta kini sa among gipang-apod-apod nga aplikasyon nga wala sa makanunayon nga kahimtang sa mga termino sa pag-configure. Kini nga problema komon. Alang sa dinamikong pagsumpo, kini mas may kalabutan, tungod kay gituohan nga kini mahimong mausab sa langaw.

Ang laing isyu mao ang pagkamiyembro sa grupo. Kanunay kami adunay pipila ka mga set sa mga trabahante, gusto namon mahibal-an kung kinsa kanila ang buhi, kung kinsa kanila ang patay. Kung adunay usa ka Agalon, nan kinahanglan niyang masabtan kung kinsa nga mga trabahante ang mahimong i-redirect sa mga kliyente aron magsugod sila sa mga kalkulasyon o magtrabaho uban ang datos, ug dili mahimo. Ang problema kanunay nga mitungha nga kinahanglan nimo mahibal-an kung kinsa ang nagtrabaho sa among cluster.

Laing tipikal nga problema mao ang pagpili sa mga lider kung gusto naton mahibal-an kung kinsa ang nagdumala. Usa ka pananglitan mao ang pagkopya, kung kita adunay pipila ka proseso nga modawat sa mga operasyon sa pagsulat ug dayon gikopya kini sa ubang mga proseso. Siya ang mahimong pangulo, ang tanan nga uban mosunod kaniya, mosunod kaniya. Kinahanglan nga pilion ang ingon nga proseso nga kini dili klaro alang sa tanan, aron dili mahitabo nga makagawas ang duha ka mga lider.

Adunay usab mutually exclusive access. Dinhi ang problema mas komplikado. Adunay ingon nga usa ka butang sama sa usa ka mutex, sa diha nga ikaw magsulat sa multi-threaded nga mga programa ug gusto access sa pipila ka mga kapanguhaan, alang sa panig-ingnan, sa usa ka memory cell, nga limitado ug gidala sa gawas sa usa lamang ka hilo. Dinhi, ang kapanguhaan mahimong usa ka butang nga labi ka abstract. Ug ang lain-laing mga aplikasyon gikan sa lain-laing mga node sa atong Network kinahanglan nga makadawat lamang og eksklusibong pag-access niini nga kapanguhaan, ug dili aron ang tanan makausab niini o makasulat og usa ka butang didto. Kini mao ang gitawag nga mga kandado.

Gitugotan ka sa ZooKeeper nga masulbad ang tanan nga mga problema sa usa ka degree o lain. Ug akong ipakita uban ang mga panig-ingnan kung giunsa kini nagtugot kanimo sa pagbuhat niini.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Walay blocking primitives. Kung magsugod kita sa paggamit sa usa ka butang, kini nga karaan dili maghulat nga mahitabo ang bisan unsang panghitabo. Lagmit, kini nga butang molihok nga asynchronously, sa ingon gitugotan ang mga proseso nga dili magbitay sa estado nga naghulat sila sa usa ka butang. Kini usa ka mapuslanon kaayo nga butang.

Ang tanan nga mga hangyo sa kliyente giproseso sa han-ay sa kinatibuk-ang pila.

Ug ang mga kliyente adunay higayon nga makadawat pahibalo bahin sa mga pagbag-o sa pipila nga estado, bahin sa mga pagbag-o sa datos, sa wala pa makita sa kliyente ang nabag-o nga datos mismo.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Ang ZooKeeper mahimong molihok sa duha ka mga mode. Ang una mao ang standalone, sa usa ka node. Kini magamit alang sa pagsulay. Ug mahimo usab kini magtrabaho sa cluster mode, sa bisan unsang gidaghanon sa mga server. Kung kita adunay usa ka kumpol sa 100 nga mga makina, nan dili kinahanglan nga kini molihok sa 100 nga mga makina. Igo na ang pagpili sa pipila ka mga makina diin mahimo nimong ipadagan ang ZooKeeper. Ug kini nagpahayag sa prinsipyo sa taas nga pagkaanaa. Gitipigan sa ZooKeeper ang usa ka bug-os nga kopya sa datos sa matag running instance. Sultihan ko ikaw sa ulahi kung giunsa niya kini gibuhat. Dili kini shard data, dili pagbahin niini. Sa usa ka bahin, kini usa ka minus nga dili kita makatipig og daghan, sa laing bahin, dili kini kinahanglan. Wala kini gidisenyo alang niana, dili kini database.

Ang datos mahimong ma-cache sa kilid sa kliyente. Kini usa ka sumbanan nga prinsipyo aron dili namo ibira ang serbisyo, ayaw i-load kini sa parehas nga mga hangyo. Ang usa ka maalamon nga kliyente kasagaran nahibal-an bahin niini ug gitago kini sa balay.

Pananglitan, adunay nausab. Adunay pipila ka aplikasyon. Nagpili kami usa ka bag-ong lider nga responsable, pananglitan, sa pagproseso sa mga operasyon sa pagsulat. Ug gusto namon nga kopyahon ang datos. Usa ka solusyon mao ang pagbutang sa usa ka siklo. Ug kanunay namong poll ang among serbisyo - aduna bay nausab? Ang ikaduha nga kapilian mao ang mas maayo. Kini usa ka mekanismo sa relo nga nagtugot kanimo sa pagpahibalo sa mga kliyente nga adunay nausab. Kini mao ang usa ka dili kaayo mahal nga paagi sa mga termino sa mga kapanguhaan ug mas sayon ​​alang sa mga kustomer.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Ang kliyente mao ang tiggamit nga naggamit sa ZooKeeper.

Ang server mao ang proseso sa ZooKeeper mismo.

Ang Znode mao ang kinauyokan nga bahin sa ZooKeeper. Ang tanan nga mga znode gitipigan sa memorya sa ZooKeeper ug giorganisar sa usa ka hierarchical scheme, sa porma sa usa ka kahoy.

Adunay duha ka matang sa operasyon. Ang una mao ang pag-update / pagsulat, kung ang pipila nga operasyon nagbag-o sa kahimtang sa among kahoy. Ang kahoy kay general.

Ug posible nga ang kliyente dili makatuman sa usa ka hangyo ug maputol, apan makatukod og sesyon diin kini makig-uban sa ZooKeeper.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Ang modelo sa datos sa ZooKeeper susama sa usa ka file system. Adunay usa ka sumbanan nga gamut, ug dayon miagi kami sa mga direktoryo nga gikan sa gamut. Ug dayon ang katalogo sa una nga lebel, ang ikaduha nga lebel. Tanan kini nga mga znode.

Ang matag znode makatipig pipila ka datos, kasagaran dili kaayo dako, pananglitan, 10 kilobytes. Ug ang matag znode mahimong adunay pipila ka mga bata.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Ang mga Znode adunay daghang klase. Mahimo sila. Ug sa paghimo sa usa ka znode, among gipiho ang tipo kung diin kini angay.

Adunay duha ka matang. Ang una mao ang ephemeral nga bandila. Si Znode nagpuyo sulod sa usa ka sesyon. Pananglitan, ang kliyente nagtukod usa ka sesyon. Ug samtang buhi pa kini nga sesyon, kini maglungtad. Kini mao ang gikinahanglan aron dili makahimo sa usa ka butang nga sobra. Angayan usab alang sa ingon nga mga higayon nga hinungdanon alang kanamo ang pagtipig sa mga primitibo sa datos sa sulod sa sesyon.

Ang ikaduha nga tipo mao ang sequential flag. Nagdugang kini og counter sa dalan paingon sa znode. Pananglitan, kami adunay usa ka direktoryo nga adunay aplikasyon 1_5. Ug sa dihang gibuhat namo ang unang node, nakadawat kini og p_1, ang ikaduha - p_2. Ug sa diha nga kita motawag niini nga pamaagi sa matag higayon, kita moagi sa bug-os nga dalan, nga nagpakita lamang sa usa ka bahin sa walay sulod, ug kini nga gidaghanon mao ang awtomatikong incremented, tungod kay kita espesipiko sa matang sa node - sequential.

Regular nga znode. Magkinabuhi siya hangtod sa kahangtoran ug makabaton sa ngalan nga among isulti kaniya.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Ang laing mapuslanon nga butang mao ang bandila sa relo. Kung atong itakda kini, nan ang kliyente mahimong mag-subscribe sa pipila ka mga panghitabo alang sa usa ka partikular nga node. Akong ipakita sa ulahi uban ang usa ka pananglitan kung giunsa kini nahimo. Ang ZooKeeper mismo nagpahibalo sa kliyente nga ang datos sa node nausab. Sa samang higayon, ang mga pahibalo dili garantiya nga ang pipila ka bag-ong datos miabot. Giingon lang nila nga adunay nabag-o, mao nga sa ulahi kinahanglan nimo nga itandi ang datos sa lainlaing mga tawag.

Ug sa akong giingon, ang data order gitino sa kilobytes. Dili kinahanglan nga tipigan ang dagkong datos sa teksto didto, tungod kay dili kini usa ka database, kini usa ka server alang sa pag-coordinate sa mga aksyon.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Isulti ko kanimo ang gamay bahin sa mga sesyon. Kung kita adunay daghang mga server, nan kita mahimong transparent nga mobalhin gikan sa server ngadto sa server gamit ang session ID. Kombenyente kaayo.

Ang matag sesyon adunay usa ka matang sa timeout. Ang usa ka sesyon gihubit kung ang kliyente nagpadala usa ka butang sa server sa kana nga sesyon. Kung wala siya nagpadala bisan unsa sa panahon sa timeout, ang sesyon mahulog, o ang kliyente mahimong magsira niini sa iyang kaugalingon.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Kini walay ingon ka daghan nga mga bahin, apan mahimo nimo ang tanan nga mga butang sa kini nga API. Ang tawag nga among nakita nga gibuhat nagmugna og znode ug nagkuha og tulo ka mga parameter. Kini ang agianan padulong sa znode ug kinahanglan nga kwalipikado gikan sa gamut. Ug usab kini ang pipila ka mga datos nga gusto namon ibalhin didto. Ug ang matang sa bandila. Ug human sa paglalang, kini mibalik sa dalan ngadto sa znode.

Ang ikaduha mahimong tangtangon. Dinhi ang lansis mao nga ang ikaduha nga parameter, dugang pa sa dalan sa znode, mahimo nimong ipiho ang bersyon. Tungod niini, ang znode mapapas kung ang bersyon niini, nga among gipasa, katumbas sa usa nga tinuod.

Kung gusto namon nga dili susihon kini nga bersyon, ipasa lang namon ang argumento nga "-1".

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Ikatulo, kini nagsusi sa pagkaanaa sa znode. Mobalik sa tinuod kung ang node anaa, bakak kon dili.

Ug unya makita ang relo sa bandila, nga nagtugot kanimo nga itakda ang pag-monitor alang sa kini nga node.

Mahimo nimong ibutang kini nga bandera bisan sa usa ka wala nga node ug makakuha usa ka pahibalo kung kini makita. Kini usab mapuslanon.

Pipila pa ka mga tawag getData. Klaro nga makakuha kitag datos pinaagi sa znode. Mahimo usab nimo gamiton ang pagbantay sa bandila. Sa kini nga kaso, dili kini ma-install kung wala’y node. Busa, kinahanglan nimo nga masabtan nga kini anaa, ug dayon makuha ang datos.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Adunay usab setdata. Ania kami nagpasa nga bersyon. Ug kung atong ipasa kini, nan ang datos sa znode sa usa ka bersyon ma-update.

Mahimo usab nimo ipiho ang "-1" aron dili iapil kini nga tseke.

Laing mapuslanon nga paagi mao ang pagkuha sa mga Bata. Makakuha usab kita og lista sa tanang znode nga nahisakop niini. Makatan-aw kita niini pinaagi sa pagbutang og flag watch.

Ug pamaagi dungan nagtugot sa tanan nga mga pagbag-o nga ipadala sa usa ka higayon, sa ingon masiguro nga kini maluwas ug ang tanan nga datos hingpit nga nabag-o.

Kung magdrowing kami og mga analohiya sa regular nga pagprograma, unya kung mogamit ka mga pamaagi sama sa pagsulat, nga nagsulat sa usa ka butang sa disk, ug pagkahuman nga kini nagbalik usa ka tubag kanimo, wala’y garantiya nga imong gisulat ang data sa disk. Ug bisan kung ang operating system masaligon nga ang tanan nasulat na, adunay mga mekanismo sa disk mismo diin ang proseso moagi sa mga lut-od sa mga buffer, ug pagkahuman nga ang data gibutang sa disk.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Kasagaran ang mga asynchronous nga tawag gigamit. Gitugotan niini ang kliyente nga magtrabaho sa lainlaing mga hangyo nga managsama. Mahimo nimong gamiton ang dungan nga pamaagi, apan kini dili kaayo produktibo.

Ang duha nga mga operasyon nga among gihisgutan mao ang pag-update / pagsulat, nga nagbag-o sa datos. Kini ang paghimo, setData, pag-sync, pagtangtang. Ug ang pagbasa anaa, getData, getChildren.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Karon ang pipila ka mga pananglitan kung giunsa nimo mahimo ang mga primitive nga molihok sa usa ka gipang-apod-apod nga sistema. Pananglitan, may kalabutan sa pag-configure sa usa ka butang. Usa ka bag-ong trabahante ang nagpakita. Nagdugang kami usa ka awto, gisugdan ang proseso. Ug adunay tulo ka pangutana. Giunsa kini paghangyo sa pag-configure gikan sa ZooKeeper? Ug kung gusto namong usbon ang configuration, nan unsaon namo kini pag-usab? Ug pagkahuman namong gibag-o, giunsa kini makuha sa mga trabahante nga naa kanamo?

Sa ZooKeeper, kini mahimo nga medyo dali. Pananglitan, anaa ang atong kahoy nga znode. Adunay usa ka node alang sa among aplikasyon dinhi, naghimo kami usa ka dugang nga node niini, nga adunay sulud nga datos gikan sa pagsumpo. Kini mahimo o dili mahimo nga lahi nga mga parameter. Tungod kay ang gidak-on gamay, ang gidak-on sa configuration kasagaran gamay usab, mao nga posible nga tipigan kini dinhi.

Gigamit nimo ang pamaagi getData aron makuha ang configuration alang sa trabahante gikan sa node. Ibutang sa tinuod. Kung kini nga node wala maglungtad tungod sa usa ka hinungdan, ipahibalo kami bahin niini kung kini makita, o kung kini magbag-o. Kung gusto namon mahibal-an nga adunay nausab, nan among gibutang kini sa tinuod. Ug kung ang datos sa kini nga node mausab, mahibal-an naton kini.

setdata. Gibutang namon ang datos, gitakda ang "-1", i.e. wala namon gisusi ang bersyon, gihunahuna namon nga kanunay kami adunay usa ka pagsumpo, dili kinahanglan nga magtipig kami daghang mga pag-configure. Kung kinahanglan nimo nga magtipig daghang, nan kinahanglan nimo nga idugang ang lain nga lebel. Dinhi kami nagtuo nga adunay usa lamang, busa among gi-update ang pinakabag-o lang, aron dili namo susihon ang bersyon. Niining higayona, ang tanan nga mga kliyente nga nag-subscribe kaniadto nakadawat usa ka pahibalo nga adunay nabag-o sa kini nga node. Ug pagkahuman nila nadawat, kinahanglan usab nila nga hangyoon pag-usab ang datos. Ang pahibalo mao nga wala sila makadawat sa datos mismo, apan pahibalo lamang sa mga pagbag-o. Pagkahuman niana, kinahanglan silang mangayo alang sa bag-ong datos.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Ang ikaduha nga paggamit sa primitive mao ang membership sa grupo. Kami adunay usa ka giapod-apod nga aplikasyon, kami adunay usa ka hugpong sa mga trabahante ug gusto namon nga masabtan nga silang tanan naa sa lugar. Busa, kinahanglang magparehistro sila sa ilang kaugalingon nga nagtrabaho sila sa among aplikasyon. Ug gusto usab namon nga mahibal-an ang bahin sa tanan nga aktibo nga mga trabahante nga naa kanamo karon, bisan gikan sa proseso sa Agalon, o gikan sa bisan diin.

Unsaon nato pagbuhat niini? Alang sa aplikasyon, naghimo kami usa ka node sa mga trabahante ug nagdugang usa ka sublevel didto gamit ang pamaagi sa paghimo. Naa koy sayop sa slide. Dinhi kinahanglan nimo sunodsunod espesipiko, unya ang tanan nga mga trabahante pagabuhaton sa usag usa. Ug ang aplikasyon, nga naghangyo sa tanan nga datos bahin sa mga bata sa kini nga node, nakadawat sa tanan nga mga aktibo nga trabahante nga naglungtad.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Ania ang usa ka makalilisang nga pagpatuman kung giunsa kini mahimo sa Java code. Magsugod kita gikan sa katapusan, uban ang panguna nga pamaagi. Kini ang among klase, among gimugna ang pamaagi niini. Ingon ang una nga argumento, gigamit namon ang host, diin kami nagkonektar, ie gibutang namon kini ingon usa ka argumento. Ug ingon nga ikaduha nga argumento - ang ngalan sa grupo.

Giunsa ang koneksyon? Kini usa ka yano nga pananglitan sa API nga gigamit. Ang tanan medyo simple dinhi. Adunay usa ka sagad nga klase sa ZooKeeper. Gihatag namon kini nga mga host. Ug pagtakda og timeout, pananglitan, 5 segundos. Ug kami adunay usa ka miyembro sama sa connectedSignal. Sa esensya, naghimo kami usa ka grupo sa agianan nga giagian. Wala kami magsulat og datos didto, bisan kung adunay isulat. Ug ang node dinhi mao ang tipo nga padayon. Sa tinuud, kini usa ka ordinaryo nga regular nga node nga maglungtad sa tanan nga panahon. Dinhi gihimo ang sesyon. Kini ang pagpatuman sa kliyente mismo. Ang among kliyente matag karon ug unya magreport nga ang sesyon buhi. Ug sa dihang nakompleto na namo ang sesyon, nagtawag kami og duol ug mao na, ang sesyon nahulog. Kini kung adunay mahitabo kanamo, aron mahibal-an kini sa ZooKeeper ug putlon ang sesyon.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Unsaon pag-lock ang pipila ka kapanguhaan? Dinhi ang tanan medyo mas komplikado. Kami adunay usa ka hugpong sa mga trabahante, adunay usa ka matang sa kapanguhaan nga gusto namon nga i-lock. Aron mahimo kini, maghimo kami usa ka lahi nga node, pananglitan, gitawag nga lock1. Kung nahimo namon kini, nan nakakuha kami usa ka kandado dinhi. Ug kung dili namo kini mahimo, nan ang trabahante mosulay sa pagkuha sa GetData gikan dinhi, ug tungod kay ang node nahimo na, unya nagbutang kami og watcher dinhi ug sa higayon nga ang kahimtang niini nga node mausab, mahibal-an namo ang mahitungod sa kini. Ug mahimo natong sulayan nga adunay panahon sa paghimo niini pag-usab. Kung gikuha namon kini nga node, gikuha kini nga kandado, unya pagkahuman nga wala na namon kinahanglan ang kandado, isalikway namon kini, tungod kay ang node anaa ra sa sulod sa sesyon. Subay niini, mawala kini. Ug ang laing kliyente sulod sa laing sesyon makahimo sa pagkuha sa usa ka lock niini nga node, o hinoon, makadawat siya og pahibalo nga adunay nausab ug mahimo niyang sulayan nga buhaton kini sa tukmang panahon.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Laing pananglitan kon unsaon nimo pagpili ang nag-unang lider. Kini usa ka gamay nga mas komplikado, apan medyo yano usab. Unsa may atong buhaton dinhi? Adunay usa ka punoan nga node nga naghiusa sa tanan nga mga trabahante. Kami naningkamot sa pagkuha sa datos mahitungod sa lider. Kung kini malampuson nga nahitabo, i.e. nakadawat kami pipila ka mga datos, nan ang among trabahante nagsugod sa pagsunod niini nga lider. Nagtuo siya nga naa na ang lider.

Kung ang lider namatay tungod sa usa ka rason, pananglitan, nahulog, nan kita naningkamot sa paghimo og bag-ong lider. Ug kung kita molampos, nan ang atong trabahante mahimong lider. Ug kung ang usa ka tawo niining higayona nakahimo sa paghimo og usa ka bag-ong lider, nan naningkamot kami nga masabtan kung kinsa kini ug dayon sundon siya.

Dinhi mitumaw ang gitawag nga herd effect, sa ato pa, ang epekto sa panon, tungod kay kung mamatay ang lider, ang una nga naa sa panahon mao ang mahimong lider.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Kung nagkuha usa ka kapanguhaan, mahimo nimong sulayan ang paggamit sa usa ka gamay nga lahi nga pamaagi, nga mao ang mga musunud. Pananglitan, gusto namon nga makakuha usa ka kandado, apan wala’y epekto sa hert. Maglangkob kini sa kamatuoran nga ang among aplikasyon nangayo mga lista sa tanan nga mga node id alang sa usa ka na nga node nga adunay lock. Ug kung sa wala pa ang node nga among gibuhat ang kandado mao ang minimum nga set nga among nadawat, nan kini nagpasabut nga nakuha namon ang kandado. Gisusi namo nga naa mi kandado. Ingon usa ka tseke, adunay usa ka kondisyon nga ang id nga among nadawat sa paghimo usa ka bag-ong kandado mao ang labing gamay. Ug kung nakadawat kami, nan kami molihok pa.

Kung adunay pipila ka mga id nga mas gamay kaysa sa among kandado, unya magbutang kami usa ka tigbantay sa kini nga panghitabo ug maghulat alang sa pahibalo hangtod nga adunay mausab. Sa ato pa, nadawat namo kini nga kandado. Ug hangtud nga kini mahulog, dili kita mahimong minimum nga id ug dili nato makuha ang minimum nga kandado, ug sa ingon kita makahimo sa pag-lock. Ug kung kini nga kondisyon dili matuman, nan moadto dayon kami dinhi ug sulayan nga makuha kini nga kandado pag-usab, tungod kay adunay usa ka butang nga mabag-o sa niining panahona.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Unsa ang gihimo sa ZooKeeper? Adunay 4 ka nag-unang butang. Kini ang pagproseso sa mga proseso - Paghangyo. Ug usab ZooKeeper Atomic Broadcast. Adunay usa ka Commit Log diin ang tanan nga mga operasyon girekord. Ug ang In-memory Replicated DB mismo, i.e. ang database mismo, diin kining tibuok nga kahoy gitipigan.

Angay nga matikdan nga ang tanan nga mga operasyon sa pagsulat moagi sa Request Processor. Ug ang mga operasyon sa pagbasa moadto direkta sa In-memory database.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Ang database mismo hingpit nga gisundog. Ang tanan nga mga higayon sa ZooKeeper nagtipig usa ka kompleto nga kopya sa datos.

Aron mapasig-uli ang database human sa pagkahagsa, adunay usa ka Commit log. Usa ka sumbanan nga praktis ang pagsulat sa datos didto sa dili pa kini mahinumduman, aron kung adunay pagkahagsa, kini nga log mahimong i-replay ug ang kahimtang sa sistema mapasig-uli. Ug ang mga pana-panahon nga mga snapshot sa database gipadapat usab.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Ang ZooKeeper Atomic Broadcast usa ka butang nga gigamit aron mapadayon ang gisundog nga datos.

Ang ZAB sa sulod nagpili sa usa ka lider gikan sa punto sa panglantaw sa ZooKeeper node. Ang ubang mga node nahimong iyang mga sumusunod, naghulat sa pipila ka aksyon gikan kaniya. Kung ang mga rekord moabut kanila, unya silang tanan i-redirect kini ngadto sa lider. Gibuhat niya daan ang operasyon sa pagsulat ug dayon nagpadala usa ka mensahe bahin sa nabag-o sa iyang mga sumusunod. Kini, sa tinuud, kinahanglan nga himuon sa atomiko, i.e. ang pagrekord ug pag-broadcast sa kini nga tibuuk nga butang kinahanglan himuon sa atomiko, sa ingon gigarantiyahan ang pagkamakanunayon sa datos.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop" Nagproseso lamang kini sa mga hangyo sa pagsulat. Ang nag-unang tahas niini mao ang pagbag-o sa operasyon ngadto sa usa ka transactional update. Kini usa ka espesyal nga gihimo nga hangyo.

Ug dinhi angay nga matikdan nga ang pagkawalay mahimo sa mga update alang sa parehas nga operasyon gigarantiyahan. Unsa ni? Kini nga butang, kung gipatuman kaduha, adunay parehas nga estado, i.e. ang hangyo mismo dili mausab. Ug kini kinahanglan nga buhaton aron sa kaso sa usa ka crash, mahimo nimong i-restart ang operasyon, sa ingon ibalik ang mga pagbag-o nga nahulog sa karon. Sa kini nga kaso, ang kahimtang sa sistema mahimong parehas, i.e. dili kinahanglan nga ang usa ka serye sa parehas, pananglitan, mga proseso sa pag-update, nagdala sa lainlaing katapusan nga estado sa sistema.

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Hadoop. ZooKeeper" gikan sa Mail.Ru Group Technostrim nga serye "Mga pamaagi sa pag-apod-apod sa pagproseso sa daghang mga datos sa Hadoop"

Source: www.habr.com

Idugang sa usa ka comment