"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Ndinokurudzira kuti uverenge zvinyorwa zvehurukuro "Hadoop. ZooKeeper" kubva pane dzakatevedzana "Nzira dzekugovera kushandiswa kwemavhoriyamu makuru e data muHadoop"

Chii chinonzi ZooKeeper, nzvimbo yayo muHadoop ecosystem. Nhema pamusoro pekuparadzirwa komputa. Dhiagiramu yeyakajairwa yakagoverwa system. Dambudziko rekubatanidza masisitimu akagoverwa. Matambudziko ekubatana. Misimboti kuseri kwekugadzirwa kweZooKeeper. ZooKeeper data modhi. znode mireza. Zvidzidzo. Purogiramu inonzi Client. Primitives (kugadzirisa, kuve nhengo yeboka, makiyi akareruka, sarudzo yemutungamiri, kukiya pasina mombe mhedzisiro). ZooKeeper architecture. ZooKeeper DB. ZAB. Request handler.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Nhasi tichataura nezve ZooKeeper. Chinhu ichi chinobatsira zvikuru. Iyo, kufanana nechero Apache Hadoop chigadzirwa, ine logo. Inoratidza murume.

Izvi zvisati zvaitika, takanyanya kutaura pamusoro pekuti data inogona kugadziriswa sei ipapo, nzira yekuichengeta, ndiko kuti, nzira yekuishandisa neimwe nzira uye kushanda nayo neimwe nzira. Uye nhasi ndinoda kutaura zvishoma nezve kuvaka mafomu akaparadzirwa. Uye ZooKeeper ndechimwe chezvinhu izvo zvinokutendera kurerutsa nyaya iyi. Iyi imhando yesevhisi inoitirwa imwe mhando yekudyidzana kwekudyidzana kwemaitiro mumasisitimu akagoverwa, mumashandisirwo akagoverwa.

Kudiwa kwemaapplication akadai kuri kuramba kuchiwedzera mazuva ese, ndozvinoita kosi yedu. Kune rimwe divi, MepuReduce uye iyi yakagadzirira-yakagadzirwa sisitimu inobvumidza iwe kuyera kuomarara uku uye kusunungura mugadziri kubva pakunyora zvinyorwa zvakaita sekudyidzana uye kurongeka kwemaitiro. Asi kune rumwe rutivi, hapana anovimbisa kuti izvi hazvizofaniri kuitwa zvakadaro. MepuReduce kana mamwe akagadzirira-akagadzirwa masisitimu haagare achitsiva zvizere mamwe makesi asingagone kuitwa uchishandisa izvi. Kusanganisira MepuReduce pachayo uye boka remamwe mapurojekiti eApache; ivo, kutaura zvazviri, vakagoverwawo maapplication. Uye kuita kuti kunyora kuve nyore, vakanyora ZooKeeper.

Senge zvese zvine chekuita neHadoop application, yakagadziridzwa neYahoo! Ikozvino zvakare iri pamutemo Apache application. Iyo haina kushinga kugadzirwa seHBase. Kana iwe ukaenda kuJIRA HBase, saka zuva rega rega kune boka remishumo yebug, boka rezvikumbiro zvekugadzirisa chimwe chinhu, i.e. hupenyu mupurojekiti iri kuramba ichienderera. Uye ZooKeeper, kune rumwe rutivi, chigadzirwa chiri nyore, uye kune rumwe rutivi, izvi zvinovimbisa kuvimbika kwayo. Uye zviri nyore kushandisa, ndosaka zvave chiyero mumashandisirwo mukati meHadoop ecosystem. Saka ndakafunga kuti zvaizobatsira kuiongorora kuti ndinzwisise kuti inoshanda sei uye mashandisirwo ayo.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Uyu mufananidzo kubva kune imwe lecture yataive nayo. Tinogona kutaura kuti ndeye orthogonal kune zvese zvatafunga kusvika parizvino. Uye zvese zvinoratidzwa pano, kune imwe dhigirii kana imwe, inoshanda neZooKeeper, i.e., ibasa rinoshandisa zvese izvi zvigadzirwa. Kunyange HDFS kana MepuReduce vanonyora avo ega masevhisi angavaitira chaizvo. Saizvozvo, ZooKeeper inoshandiswa. Uye izvi zvinorerutsa kukura uye zvimwe zvinhu zvine chekuita nekukanganisa.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Zvose izvi zvinobva kupi? Zvinoita sekunge takatangisa maapplication maviri akafanana pamakomputa akasiyana, akaabatanidza netambo kana mesh, uye zvese zvinoshanda. Asi dambudziko nderekuti Network haina kuvimbika, uye kana iwe ukahwihwidza traffic kana kutarisa zviri kuitika ipapo padanho rakaderera, maclients anopindirana sei paNetwork, unokwanisa kuona kuti mamwe mapaketi akarasika kana kutumirwazve. Hazvisi zvenhando kuti TCP maprotocol akagadzirwa, ayo anotendera iwe kuti umise imwe sesheni uye unovimbisa kutumirwa kwemameseji. Asi chero zvakadaro, kunyangwe TCP haigone kukuchengetedza nguva dzose. Zvese zvine nguva yekubuda. Network inogona kungodonha kwechinguva. Inogona kungobwaira. Uye izvi zvese zvinotungamira kune chokwadi chekuti haugone kuvimba neNetwork kuve yakavimbika. Uyu ndiwo mutsauko mukuru kubva pakunyora zvikumbiro zvakafanana zvinomhanya pane imwe komputa kana imwe supercomputer, uko pasina Network, uko kune yakavimbika data exchange bhazi mundangariro. Uye uyu ndiwo musiyano mukuru.

Pakati pezvimwe zvinhu, kana uchishandisa Network, panogara paine imwe latency. Iyo dhisiki zvakare inayo, asi iyo Network ine zvakawanda zvayo. Latency inguva yekunonoka, inogona kunge iri diki kana yakakosha.

Iyo network topology iri kuchinja. Chii chinonzi topology - uku ndiko kuiswa kwemidziyo yedu yetiweki. Kune data centers, kune racks inomira ipapo, kune makenduru. Zvose izvi zvinogona kubatanidzwazve, kutamiswa, nezvimwewo. Izvi zvose zvinodawo kuverengerwa. IP mazita anochinja, nzira iyo traffic yedu inofamba nayo inochinja. Izvi zvinodawo kurangarirwa.

Iyo network inogonawo kuchinja maererano nemidziyo. Kubva pakuita, ndinogona kutaura kuti mainjiniya edu etiweki anonyatsoda nguva nenguva kugadzirisa chimwe chinhu pamakenduru. Pakarepo imwe firmware yakabuda uye ivo vaisanyanya kufarira mune imwe Hadoop cluster. Vane basa ravo. Kwavari, chinhu chikuru ndechekuti Network inoshanda. Saizvozvo, ivo vanoda kurodhazve chimwe chinhu ipapo, ita kupenya pane yavo hardware, uye hardware inochinjawo nguva nenguva. Zvese izvi neimwe nzira zvinoda kuverengerwa. Zvese izvi zvinokanganisa application yedu yakagoverwa.

Kazhinji vanhu vanotanga kushanda nehuwandu hwe data nekuda kwechimwe chikonzero vanotenda kuti Indaneti haina muganhu. Kana paine faira rematerabytes akati wandei ipapo, unogona kuenda naro kune server yako kana komputa woivhura uchishandisa katsi uye murinde. Imwe kukanganisa irimo Vim tarisa matanda. Usambofa wakaita izvi nekuti zvakaipa. Nekuti Vim inoedza kuvharira zvese, takura zvese mundangariro, kunyanya kana isu tatanga kufamba nepakati peiyi logi uye tichitsvaga chimwe chinhu. Izvi zvinhu zvinokanganwika, asi zvakakodzera kufunga.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Zviri nyore kunyora chirongwa chimwe chete chinomhanya pane imwe komputa ine processor imwe.

Kana sisitimu yedu ichikura, tinoda kuifananidzira zvese, uye kuifananidzira kwete pakombuta chete, asiwo pane sumbu. Mubvunzo unomuka: nzira yekubatanidza nyaya iyi? Zvishandiso zvedu zvinogona kusatombodyidzana, asi isu takamhanyisa akati wandei maitiro mukufanana pamaseva akati wandei. Uye sei kutarisa kuti zvinhu zvose zviri kuvafambira zvakanaka? Semuenzaniso, vanotumira chimwe chinhu paInternet. Ivo vanofanirwa kunyora nezve mamiriro avo kumwe kunhu, semuenzaniso, mune imwe mhando yedatabase kana danda, vobva vabatanidza iyi logi uye vozoiongorora kumwe kunhu. Uyezve, isu tinofanirwa kufunga kuti iyo nzira yaive ichishanda uye ichishanda, kamwe kamwe chikanganiso chakaonekwa mukati mayo kana kuti chakadonha, zvino tichakurumidza sei kuziva nezvazvo?

Zviri pachena kuti izvi zvose zvinogona kukurumidza kuongororwa. Izvi zvakare zvakanaka, asi kutarisa chinhu chidiki chinokutendera kuti utarise zvimwe zvinhu padanho repamusoro.

Kana isu tichida kuti maitiro edu atange kusangana nemumwe, semuenzaniso, kutumira mumwe nemumwe data, ipapo mubvunzo unomukawo - izvi zvichaitika sei? Pachave nerumwe rudzi rwemamiriro enhangemutange, ivo vachanyora pamusoro peumwe neumwe, iyo data inosvika nemazvo, pane chero chinhu chicharasika munzira? Isu tinofanirwa kugadzira imwe mhando yeprotocol, nezvimwe.

Kurongeka kwemaitiro ese aya hachisi chinhu chidiki. Uye zvinomanikidza mugadziri kuti aende pasi kune yakatodzika nhanho, uye kunyora masisitimu kubva kutanga, kana kwete kubva mukutanga, asi izvi hazvisi nyore.

Kana iwe ukauya nekrisptographic algorithm kana kutoishandisa, wobva wairasa ipapo, nekuti kazhinji haizoshande kwauri. Panogona kunge paine zvikanganiso zvakawanda mairi zvawakanganwa kupa. Usambofa wakaishandisa kune chero chinhu chakakomba nekuti inogona kunge isina kugadzikana. Nekuti ese maalgorithms aripo akaedzwa nenguva kwenguva yakareba kwazvo. Inokanganiswa nenharaunda. Iyi inyaya yakasiyana. Uye zvakafanana pano. Kana zvichikwanisika kuti usaite imwe nzira yekuwiriranisa iwe pachako, saka zviri nani kuti usaite izvi, nekuti zvakanyanya kuomarara uye zvinokusvitsa iwe pasi munzira inodedera yekugara uchitsvaga zvikanganiso.

Nhasi tiri kutaura nezve ZooKeeper. Kune rimwe divi, iyo chimiro, kune rumwe rutivi, ibasa rinoita kuti hupenyu huve nyore kune anovandudza uye inorerutsa kuita kwekuita pfungwa uye kurongeka kwemaitiro edu zvakanyanya sezvinobvira.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Ngatirangarirei kuti mwero wakagoverwa system ungaratidzika sei. Izvi ndizvo zvatakataura nezvazvo - HDFS, HBase. Iko kune Master maitiro anotonga vashandi uye maitiro evaranda. Ane basa rekubatanidza uye kugovera mabasa, kutangazve vashandi, kutanga matsva, uye kugovera mutoro.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Chinhu chepamusoro-soro iCoordination Service, ndiko kuti, fambisa basa rekubatanidza pacharo kuita imwe nzira, uye mhanyisa imwe mhando yekuchengetedza kana stanby Master mukuwirirana, nekuti Tenzi anogona kutadza. Uye kana Tenzi akadonha, saka sisitimu yedu haishande. Tiri kuita backup. Vamwe vanoti Master anofanirwa kudzokororwa kune backup. Izvi zvinogona zvakare kupihwa kuCoordination Service. Asi mumufananidzo uyu, Tenzi pachake ane basa rekubatanidza vashandi; pano sevhisi iri kuronga zviitiko zvekudzokorora data.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Imwe sarudzo yepamusoro ndeye apo kurongeka kwese kunobatwa nebasa redu, sezvinowanzoitwa. Anotora mutoro wekuona kuti zvese zvinoshanda. Uye kana chimwe chinhu chikasashanda, tinozviziva uye tinoedza kutenderera mamiriro ezvinhu aya. Chero zvazvingava, isu tinosara naTenzi uyo neimwe nzira anodyidzana nevaranda uye anogona kutumira data, ruzivo, meseji, nezvimwe kuburikidza neimwe sevhisi.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Pane chirongwa chakatonyanya kufambira mberi, kana tisina Tenzi, nodes dzose varanda vatenzi, vakasiyana mumufambiro wavo. Asi vachiri kuda kudyidzana, saka kuchine imwe sevhisi yasara kuronga izvi zviito. Zvichida, Cassandra, iyo inoshanda pamusimboti uyu, inokodzera chirongwa ichi.

Zvakaoma kutaura kuti ndezvipi zvezvirongwa izvi zvinoshanda zviri nani. Imwe neimwe ine zvayakanakira nezvayakaipira.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Uye hapana chikonzero chekutya zvimwe zvinhu naTenzi, nekuti, sekuratidzira kunoratidza, haakonzereki kugara achishumira. Chinhu chikuru pano ndechokusarudza mhinduro yakarurama yekubata basa iri pane imwe node ine simba yakasiyana, kuitira kuti ive nehupfumi hwakakwana, kuitira kuti kana zvichibvira, vashandisi havawanikwi ikoko, kuitira kuti varege kuuraya netsaona iyi nzira. Asi panguva imwecheteyo, muchirongwa chakadaro zviri nyore kwazvo kutarisira vashandi kubva kuChirongwa cheTenzi, i.e. chirongwa ichi chiri nyore kubva pakuona kwekuita.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Uye chirongwa ichi (pamusoro) chingangodaro chakaoma, asi chakavimbika.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Dambudziko guru kukundikana kwechidimbu. Semuyenzaniso, patinotumira meseji paNetwork, imwe tsaona inoitika, uye iye atumira meseji haazoziva kana meseji yake yagamuchirwa uye kuti chii chakaitika kudivi reanogamuchira, haazoziva kana meseji yafambiswa nemazvo. , kureva kuti haazogamuchiri chero simbiso.

Saizvozvowo, tinofanira kugadzirisa mamiriro ezvinhu aya. Uye chinhu chiri nyore ndechekutumira iyi meseji uye kumirira kusvika tagamuchira mhinduro. Muchiitiko ichi, hazvifungidzirwe kana mamiriro emugamuchiri akachinja. Tinogona kutumira meseji uye nekuwedzera data rimwe chete kaviri.

ZooKeeper inopa nzira dzekutarisana nekuramba kwakadaro, izvo zvinoitawo kuti hupenyu hwedu huve nyore.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Sezvambotaurwa zvishoma, izvi zvakafanana nekunyora mapurogiramu akawanda, asi mutsauko mukuru ndewekuti mumapurogiramu akaparadzirwa atinovaka pamichina yakasiyana, nzira chete yekukurukurirana ndiyo Network. Chaizvoizvo, ichi chivakwa chakagovaniswa-hapana chinhu. Imwe neimwe nzira kana sevhisi inomhanya pamuchina mumwe ine ndangariro yayo, dhisiki rayo, processor yayo, iyo isingagovani nemunhu.

Kana tikanyora purogiramu yakawanda-yakapetwa pane imwe komputa, saka tinogona kushandisa ndangariro yakagovaniswa kuchinjanisa data. Isu tine shanduko yemamiriro ezvinhu ipapo, maitiro anogona kuchinja. Izvi zvinokanganisa kushanda. Kune rumwe rutivi, hapana chinhu chakadaro muchirongwa pane sumbu, asi kune matambudziko neNetwork.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Saizvozvo, iwo makuru matambudziko anomuka kana kunyora akagoverwa masisitimu ndeye configuration. Tiri kunyora imwe mhando yekushandisa. Kana zviri nyore, saka isu tinoomesera marudzi ese enhamba mukodhi, asi izvi hazvina kunaka, nekuti kana isu tikafunga kuti pane nguva yekubuda kwehafu sekondi isu tinoda nguva yekubuda kwesekondi imwe, saka isu tinoda kudzokorora application uye. bvisa zvese zvakare. Chinhu chimwe kana chiri pamushini mumwe, kana uchinge wangoutangazve, asi kana tave nemichina yakawanda, tinofanira kugara tichikopa zvese. Isu tinofanirwa kuedza kuita kuti application igadzirike.

Pano tiri kutaura nezve static configuration yemaitiro maitiro. Izvi hazvisi zvachose, pamwe kubva pakuona sisitimu yekushandisa, inogona kunge iri static gadziriso yemaitiro edu, ndiko kuti, uku kugadziridzwa kusingagone kungotorwa nekugadziridzwa.

Panewo dynamic configuration. Aya ndiwo maparameter atinoda kuchinja panhunzi kuti anonhongwa ikoko.

Dambudziko nderei apa? Isu takagadziridza iyo config, takaikungurutsa, saka chii? Dambudziko rinogona kunge riri rekuti kune rumwe rutivi takaburitsa config, asi takakanganwa nezvechinhu chitsva, iyo config yakaramba iripo. Kechipiri, patakanga tichiburitsa, iyo gadziriso yakagadziridzwa mune dzimwe nzvimbo, asi kwete mune dzimwe. Uye mamwe maitiro ekushandisa kwedu anomhanya pamushini mumwe akatangazve neiyo nyowani config, uye kumwe kune imwe yekare. Izvi zvinogona kuita kuti application yedu yakagoverwa isaenderane kubva pakuona kwekugadzirisa. Dambudziko iri rinowanzoitika. Kune dhizaini yekumisikidza, inonyanya kukosha nekuti zvinoreva kuti inogona kushandurwa panhunzi.

Rimwe dambudziko nderekuva nhengo yeboka. Isu tinogara tine seti yevashandi, tinogara tichida kuziva kuti ndiani wavo mupenyu, ndiani wavo akafa. Kana paine Tenzi, saka anofanira kunzwisisa kuti ndevapi vashandi vanogona kuendeswa kune vatengi kuitira kuti vamhanye kuverenga kana kushanda nedata, uye izvo zvisingakwanisi. Dambudziko rinogara richimuka nderekuti tinoda kuziva kuti ndiani ari kushanda muchikwata chedu.

Rimwe dambudziko rakajairika isarudzo dzemutungamiri, kana tichida kuziva kuti ndiani ari kutonga. Mumwe muenzaniso ndeyekudzokorora, kana isu tine imwe nzira inogamuchira zvinyorwa zvekunyora uye tozvidzokorora pakati pemamwe maitiro. Achava mutungamiriri, vanhu vose vachamuteerera, vachamutevera. Izvo zvinodikanwa kuti usarudze nzira kuitira kuti ive isina kujeka kune wese munhu, kuti zvirege kuitika kuti vatungamiriri vaviri vanosarudzwa.

Kune zvakare mukana wakasiyana-siyana. Dambudziko riri pano rakanyanya kuoma. Pane chinhu chakadai semutex, kana iwe uchinyora akawanda-akarukwa mapurogiramu uye uchida kuwana kune imwe sosi, semuenzaniso, sero yekurangarira, kuganhurwa uye kuitwa neshinda imwe chete. Pano iyo sosi inogona kunge iri chimwe chinhu chisinganzwisisiki. Uye mashandisirwo akasiyana kubva kune akasiyana node yeNetwork yedu anofanirwa kungogamuchira chete kuwana kune yakapihwa sosi, uye kwete kuti munhu wese achinje kana kunyora chimwe chinhu ipapo. Aya ndiwo anonzi makiya.

ZooKeeper inokutendera iwe kugadzirisa matambudziko ese aya kune imwe dhigirii kana imwe. Uye ini ndicharatidza nemienzaniso kuti inokutendera sei kuita izvi.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Iko hakuna blocking primitives. Kana isu tikatanga kushandisa chimwe chinhu, ichi chekare hachizomirira chero chiitiko kuti chiitike. Zvingangodaro, chinhu ichi chichashanda asynchronously, nokudaro zvichibvumira maitiro kuti asarembera pavanenge vakamirira chimwe chinhu. Ichi chinhu chinobatsira zvikuru.

Zvese zvikumbiro zvevatengi zvinogadziriswa muhurongwa hwemutsetse wakazara.

Uye vatengi vane mukana wekugamuchira chiziviso nezve shanduko mune imwe nyika, nezve shanduko mune data, mutengi asati aona iyo data yakashandurwa ivo pachavo.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

ZooKeeper inogona kushanda mumamodhi maviri. Yekutanga ndeye yakamira, pane imwe node. Izvi zvakanakira kuedzwa. Inogonawo kushanda mu cluster mode pane chero nhamba yemaseva. Kana isu tiine sumbu remakina zana, saka hazvina kufanira kuti rishande pamichina zana. Zvakakwana kusarudza akati wandei michina kwaunogona kumhanya ZooKeeper. Uye inotaura musimboti wekuwanikwa kwepamusoro. Pane yega yega inomhanya muenzaniso, ZooKeeper inochengeta kopi yese yedata. Gare gare ndichakuudza kuti anozviita sei. Iyo haiparadzi data kana kuipatsanura. Kune rimwe divi, iri minus yatisingakwanise kuchengeta yakawanda, kune rumwe rutivi, hapana chikonzero chekuita izvi. Handizvo zvakagadzirirwa, haisi database.

Data inogona kuvharirwa padivi revatengi. Uyu ndiwo musimboti wakajairwa kuitira kuti tisakanganise sevhisi uye tisaiise nezvikumbiro zvakafanana. Mutengi akangwara anowanzo ziva nezve izvi uye anoichengeta.

Somuenzaniso, chimwe chinhu chachinja pano. Pane imwe mhando yekushandisa. Mutungamiri mutsva akasarudzwa, uyo ane mutoro, semuenzaniso, wekugadzirisa mabasa ekunyora. Uye isu tinoda kudzokorora iyo data. Imwe mhinduro ndeyekuisa muchiuno. Uye isu tinogara tichibvunza sevhisi yedu - pane chachinja here? Yechipiri sarudzo yakanyanya kunaka. Iyi inzira yekurinda inobvumidza iwe kuzivisa vatengi kuti chimwe chinhu chachinja. Iyi inzira isingadhure maererano nezviwanikwa uye yakanakira vatengi.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Mutengi ndiye mushandisi anoshandisa ZooKeeper.

Server ndiyo ZooKeeper maitiro pachayo.

Znode ndicho chinhu chakakosha muZooKeeper. Ese maznode anochengetwa mundangariro neZooKeeper uye akarongeka muchimiro chedhiyabhorosi yedhiyagiramu, muchimiro chemuti.

Kune marudzi maviri ekuvhiya. Yekutanga ndeyekuvandudza / kunyora, kana kumwe kushanda kuchichinja mamiriro emuti wedu. Muti wakajairika.

Uye zvinogoneka kuti mutengi haazadzise chikumbiro chimwe chete uye anodimburwa, asi anogona kumisikidza chikamu kuburikidza iyo inodyidzana neZooKeeper.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

ZooKeeper's data model yakafanana nefaira system. Pane midzi yakajairika uye takabva taenda sekunge kuburikidza nemadhairekitori anobva kumudzi. Uyezve kabhuku kekutanga nhanho, yechipiri nhanho. Izvi zvese znodes.

Znode imwe neimwe inogona kuchengeta imwe data, kazhinji isiri yakakura kwazvo, semuenzaniso, 10 kilobytes. Uye znode imwe neimwe inogona kuva nenhamba yakati yevana.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Znodes inouya mumhando dzakawanda. Vanogona kugadzirwa. Uye kana tichigadzira znode, tinotsanangura rudzi rwainofanira kuva.

Kune mhando mbiri. Yokutanga ndiyo ephemeral mureza. Znode anogara mukati mechikamu. Semuenzaniso, mutengi akagadzira musangano. Uye chero chikamu ichi chiri chipenyu, chichavapo. Izvi zvinodiwa kuitira kuti usaburitse chimwe chinhu chisingakoshi. Izvi zvakafanirawo nguva apo zvakakosha kuti isu tichengetedze primitives yedata mukati mechikamu.

Rudzi rwechipiri ndeyekutevedzana mureza. Inowedzera counter panzira inoenda kuznode. Semuenzaniso, taive nedhairekitori rine application 1_5. Uye patakagadzira yekutanga node, yakagamuchira p_1, yechipiri - p_2. Uye patinodaidza nzira iyi nguva imwe neimwe, tinopfuura nzira yakazara, tichiratidza chikamu chegwara chete, uye nhamba iyi inongowedzerwa nokuti tinoratidza rudzi rwenode - sequential.

Nguva dzose znode. Achagara ari mupenyu uye ane zita ratinomuudza.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Chimwe chinhu chinobatsira mureza wewachi. Kana tikaiisa, ipapo mutengi anogona kunyorera kune zvimwe zviitiko kune chaiyo node. Ini ndichakuratidza gare gare nemuenzaniso kuti izvi zvinoitwa sei. ZooKeeper pachayo inozivisa mutengi kuti iyo data pane node yachinja. Nekudaro, zviziviso hazvivimbise kuti imwe data nyowani yasvika. Vanongotaura kuti chimwe chinhu chachinja, saka iwe uchiri kufananidza data gare gare nemafoni akasiyana.

Uye sezvandambotaura, kurongeka kwedata kunotemwa ne kilobytes. Iko hakuna chikonzero chekuchengeta yakakura mameseji data ipapo, nekuti haisi dhatabhesi, iri chiito chekubatanidza server.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Ndichakuudza zvishoma nezvemasesheni. Kana isu tiine maseva akawanda, saka tinokwanisa kusimuka zviripachena kubva kune server kuenda kune server tichishandisa iyo sesheni identifier. Zviri nyore.

Chikamu chega chega chine imwe mhando yekupedza nguva. Chikamu chinotsanangurwa nekuti mutengi anotumira chero chinhu kune server panguva iyoyo. Kana asina kufambisa chero chinhu panguva yekupera, chikamu chinodonha, kana mutengi anogona kuzvivhara ega.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Iyo haina akawanda maficha, asi iwe unogona kuita zvinhu zvakasiyana neiyi API. Kufona ikoko takaona kusika kunogadzira znode uye kunotora matatu paramita. Iyi ndiyo nzira inoenda kuznode, uye inofanirwa kutsanangurwa zvizere kubva pamudzi. Uye zvakare iyi ndeimwe data yatinoda kuendesa ikoko. Uye rudzi rwemureza. Uye mushure mekusikwa inodzorera nzira kune znode.

Chechipiri, unogona kuidzima. Chinongedzo apa ndechekuti yechipiri parameter, mukuwedzera kune nzira inoenda kuznode, inogona kutsanangura iyo vhezheni. Saizvozvo, iyo znode ichadzimwa kana vhezheni yayo yatakatamisa yakaenzana neiyo iripo chaizvo.

Kana isu tisingade kutarisa iyi vhezheni, isu tinongopfuura iyo "-1" nharo.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Chechitatu, inotarisa kuvepo kweznode. Inodzorera chokwadi kana node iripo, nhema neimwe nzira.

Uye ipapo mureza wachi inooneka, iyo inokutendera iwe kutarisa iyi node.

Iwe unogona kuseta iyi mureza kunyangwe pane isipo node uye ugamuchire chiziviso kana ichinge yaonekwa. Izvi zvinogona zvakare kubatsira.

Mamwe matambudziko akati wandei getData. Zviri pachena kuti tinogona kugamuchira data kuburikidza neznode. Iwe unogona zvakare kushandisa mureza wachi. Muchiitiko ichi, haizoise kana pasina node. Naizvozvo, iwe unofanirwa kunzwisisa kuti iripo, uye wozogamuchira data.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Kune zvakare SetData. Pano tinopasa shanduro. Uye kana tikapfuudza izvi, iyo data paznode yeimwe vhezheni ichagadziridzwa.

Unogonawo kudoma "-1" kusasanganisa cheki iyi.

Imwe nzira inobatsira ndeye getChildren. Isu tinogona zvakare kuwana runyorwa rweese maznode ari mairi. Tinogona kutarisa izvi nekuisa mureza wachi.

Uye nzira sync inobvumira shanduko dzese kuti dzitumirwe kamwechete, nekudaro kuve nechokwadi chekuti dzakachengetedzwa uye data rese rakashandurwa zvachose.

Kana tikadhirowa analogies nechirongwa chenguva dzose, saka kana iwe ukashandisa nzira dzakadai sekunyora, iyo inonyora chimwe chinhu ku diski, uye mushure mokunge ichidzorera mhinduro kwauri, hapana chivimbo chokuti wakanyora data kune disk. Uye kunyange kana hurongwa hwekushanda huine chivimbo chokuti zvinhu zvose zvakanyorwa, kune nzira dziri mu diski pachayo apo nzira yacho inopinda nepakati pezvikamu zvebhafa, uye mushure mokunge iyo data yakaiswa pa diski.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Kazhinji asynchronous mafoni anoshandiswa. Izvi zvinobvumira mutengi kushanda pamwe chete nezvikumbiro zvakasiyana. Iwe unogona kushandisa iyo synchronous nzira, asi haina zvibereko zvishoma.

Iwo maviri mashandiro atakataura nezvawo ndeekuvandudza / kunyora, ayo anoshandura data. Izvi zvinogadzira, setData, sync, bvisa. Uye kuverenga kuriko, getData, getChildren.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Iye zvino mienzaniso mishoma yekuti iwe ungaita sei primitives yekushanda mune yakagoverwa system. Semuenzaniso, zvinoenderana nekugadziriswa kwechimwe chinhu. Mushandi mutsva aonekwa. Takawedzera muchina ndokutanga basa. Uye pane mibvunzo mitatu inotevera. Inobvunza sei ZooKeeper kuti igadziriswe? Uye kana tichida kushandura gadziriro, tinoishandura sei? Uye mushure mekunge tachichinja, vashandi vataive navo vanochiwana sei?

ZooKeeper inoita kuti izvi zvive nyore. Semuenzaniso, pane yedu znode muti. Pane node yekushandisa kwedu pano, isu tinogadzira imwe node mairi, iyo ine data kubva mukugadziriswa. Aya anogona kana kusave akasiyana paramita. Sezvo saizi idiki, saizi yekumisikidza kazhinji idiki zvakare, saka zvinokwanisika kuichengeta pano.

Uri kushandisa nzira getData kuti uwane kugadziridzwa kwemushandi kubva kune node. Gadzirira chokwadi. Kana nekuda kwechimwe chikonzero iyi node isipo, isu tichaziviswa nezvazvo painooneka, kana painochinja. Kana tichida kuziva kuti chimwe chinhu chachinja, tobva tachiisa kuchokwadi. Uye kana iyo data mune ino node ikachinja, isu tichaziva nezvazvo.

SetData. Isu tinoisa iyo data, isa "-1", i.e. isu hatitarise shanduro, tinofungidzira kuti isu tinogara tine imwe gadziriso, hatidi kuchengetedza akawanda magadzirirwo. Kana iwe uchida kuchengeta yakawanda, iwe uchafanirwa kuwedzera imwe nhanho. Pano isu tinotenda kuti pane imwe chete, saka isu tinogadziridza chete ichangoburwa, saka isu hatitarise shanduro. Panguva ino, vatengi vese vakambonyorera vanogamuchira chiziviso chekuti chimwe chinhu chachinja mune ino node. Uye mushure mekunge vaigamuchira, ivo vanofanirwa kukumbira iyo data zvakare. Chiziviso ndechekuti ivo havagamuchire iyo data pachayo, asi chete ziviso yekuchinja. Mushure meizvi vanofanirwa kukumbira data idzva.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Yechipiri sarudzo yekushandisa yekutanga ndeye kuva nhengo yeboka. Tine chikumbiro chakagoverwa, kune boka revashandi uye tinoda kunzwisisa kuti vese vari munzvimbo. Naizvozvo, ivo vanofanirwa kuzvinyoresa kuti vanoshanda mukushandisa kwedu. Uye isu tinodawo kuziva, kungave kubva kuMaster process kana kumwewo, nezvevashandi vese vanoshanda vatinavo parizvino.

Tinozviita sei izvi? Zvekushandisa, isu tinogadzira node yevashandi uye tinowedzera sublevel ipapo tichishandisa nzira yekugadzira. Ndine kukanganisa pachisiraidhi. Pano iwe unoda zvakateerana tsanangura, ipapo vashandi vese vachagadzirwa mumwe nemumwe. Uye iyo application, ichikumbira data rese nezvevana veiyi node, inogamuchira vese vashandi vanoshanda varipo.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Uku kuita kwakaipa kwazvo kwekuti izvi zvinogona kuitwa sei muJava kodhi. Ngatitange kubva kumagumo, nenzira huru. Iyi ndiyo kirasi yedu, ngatigadzire nzira yayo. Senharo yekutanga yatinoshandisa mugamuchiri, patiri kubatanidza, i.e. tinoimisa senharo. Uye nharo yechipiri izita reboka.

Ko kubatana kunoitika sei? Uyu muenzaniso wakapfava weAPI inoshandiswa. Zvese zviri nyore pano. Kune yakajairwa kirasi ZooKeeper. Tinopfuudza vatenzi kwairi. Uye isa nguva yekubuda, semuenzaniso, kusvika kumasekonzi mashanu. Uye isu tine nhengo inonzi yakabatanaSignal. Chaizvoizvo, tinogadzira boka munzira inofambiswa. Isu hatinyore data ipapo, kunyangwe chimwe chinhu chingave chakanyorwa. Uye node iri pano ndeyemhando inoramba iripo. Chaizvoizvo, iyi inguva yakajairwa node inogara iripo nguva dzese. Apa ndipo panogadzirwa musangano. Uku ndiko kushandiswa kwemutengi pachake. Mutengi wedu anotumira nguva nenguva mameseji anoratidza kuti chikamu chipenyu. Uye kana tapedza chikamu, tinodaidza pedyo uye ndizvozvo, chikamu chinodonha. Izvi zvinodaro kana chimwe chinhu chikatiwira, kuitira kuti ZooKeeper azive nezvazvo uye adimbure chikamu.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Nzira yekukiya sei chitubu? Pano zvinhu zvose zvishoma zvakaoma. Tine seti yevashandi, pane imwe sosi yatinoda kukiya. Kuti tiite izvi, tinogadzira node yakasiyana, semuenzaniso, inonzi lock1. Kana isu takakwanisa kuigadzira, saka tave nekiyi pano. Uye kana isu tisina kukwanisa kuigadzira, ipapo mushandi anoedza kutoraData kubva pano, uye sezvo node yakatogadzirwa, saka tinoisa murindi pano uye nguva iyo mamiriro enode inoshanduka, tichaziva nezvazvo. Uye tinogona kuedza kuwana nguva yekuigadzira patsva. Kana tikatora node iyi, tikatora kiyi iyi, zvino mushure mekunge isu tisisade kukiya, tinoisiya, sezvo node iripo chete mukati mechikamu. Naizvozvo, ichanyangarika. Uye mumwe mutengi, mukati megadziriro yeimwe chikamu, achakwanisa kutora kukiya pane ino node, kana kuti, achagamuchira chiziviso chekuti chimwe chinhu chachinja uye anogona kuedza kuzviita nenguva.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Mumwe muenzaniso wekuti ungasarudza sei mutungamiri mukuru. Izvi zvishoma zvakaoma, asiwo zviri nyore. Chii chiri kuitika pano? Pane node huru inounganidza vashandi vese. Tiri kuedza kuwana data pamusoro pemutungamiri. Kana izvi zvikaitika zvinobudirira, i.e. takagamuchira imwe data, ipapo mushandi wedu anotanga kutevera mutungamiri uyu. Anotenda kuti kwatova nemutungamiri.

Kana mutungamiri akafa nokuda kwechimwe chikonzero, somuenzaniso, akadonha, saka tinoedza kugadzira mutungamiri mutsva. Uye kana tikabudirira, ipapo mushandi wedu anova mutungamiri. Uye kana mumwe munhu panguva ino akakwanisa kugadzira mutungamiri mutsva, saka tinoedza kunzwisisa kuti ndiani uye tomutevera.

Pano panobuda inonzi herd effect, i.e. the herd effect, nokuti kana mutungamiri afa, uyo anotanga kufamba nenguva ndiye achava mutungamiri.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Paunenge uchitora sosi, unogona kuedza kushandisa nzira yakati siyanei, iyo inotevera. Semuenzaniso, isu tinoda kuwana kukiya, asi pasina hert mhedzisiro. Ichave muchokwadi chekuti chikumbiro chedu chinokumbira zvinyorwa zveese node maid kune yagara iripo node ine kiyi. Uye kana izvi zvisati zvaitika iyo node yatakagadzira kukiya ndiyo idiki pane yeseti yatakagamuchira, saka izvi zvinoreva kuti isu tatora kukiya. Tinotarisa kuti tagamuchira kukiya. Secheki, pachave nemamiriro ekuti iyo id yatakagamuchira pakugadzira kukiya nyowani ishoma. Uye kana takaigamuchira, saka tinoshanda zvakare.

Kana paine imwe id idiki pane kukiya kwedu, tobva taisa murindi pachiitiko ichi uye tomirira chiziviso kusvikira chimwe chinhu chachinja. Kureva kuti takagamuchira kiya ichi. Uye kusvika yadonha, isu hatizove iyo shoma id uye hatigamuchire iyo shoma yekuvhara, uye nekudaro tichakwanisa kupinda. Uye kana chimiro ichi chikasasangana, saka tinobva tangoenda pano toedza kutora kukiya iyi zvakare, nekuti chimwe chinhu chingave chachinja panguva iyi.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Chii chinonzi ZooKeeper chinosanganisira? Pane zvinhu zvina zvikuru. Aya ndiwo maitiro ekugadzirisa - Chikumbiro. Uye zvakare ZooKeeper Atomic Broadcast. Kune Commit Log uko zvese mashandiro anorekodhwa. Uye iyo In-memory Replicated DB pachayo, i.e. dhatabhesi pachayo panochengetwa muti uyu wese.

Zvakakosha kucherechedza kuti mabasa ese ekunyora anoenda kuburikidza neChikumbiro processor. Uye verenga mashandiro enda zvakananga kuIn-memory dhatabhesi.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Iyo database pachayo inodzokororwa zvizere. Zvese zviitiko zveZooKeeper chengetedza kopi yakazara yedata.

Kuti udzorere dhatabhesi mushure mekuparara, pane Commit log. Yakajairika tsika ndeyekuti data isati yapinda mundangariro, yakanyorwa ipapo kuti kana ikaparara, iyi log inogona kuridzwa zvakare uye system system inogona kudzoserwa. Uye periodic snapshots yedatabase inoshandiswa zvakare.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

ZooKeeper Atomic Broadcast chinhu chinoshandiswa kuchengetedza yakadzokororwa data.

ZAB mukati inosarudza mutungamiri kubva pakuona kweZooKeeper node. Dzimwe node dzinova vateveri vake uye tarisira zvimwe zviito kubva kwaari. Kana vakagamuchira zvinyorwa, vanozviisa zvose kumutungamiri. Anotanga aita oparesheni yekunyora obva atumira meseji yezvachinja kuvateveri vake. Izvi, chokwadi, zvinofanirwa kuitwa neatomu, i.e. kurekodha uye kutepfenyura kwechinhu chose kunofanirwa kuitwa neatomu, nekudaro kuvimbisa kuenderana kwedata.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop" Inongogadzirisa zvikumbiro zvekunyora. Basa rayo guru nderekuti rinoshandura kushanda kuita shanduro yekushandura. Ichi chikumbiro chakagadzirwa.

Uye pano zvakakosha kucherechedza kuti idempotency yezvigadziriso zvekushanda kwakafanana kunovimbiswa. Chii? Chinhu ichi, kana chichiitwa kaviri, chichava nemamiriro akafanana, i.e. chikumbiro pachacho hachizoshanduki. Uye izvi zvinoda kuitwa kuitira kuti kana pakaitika tsaona, unogona kutangazve kushanda, nekudaro uchidzosera kumashure shanduko dzadonha panguva ino. Muchiitiko ichi, mamiriro ehurongwa achave akafanana, i.e. haifanire kuve iyo iyo yakatevedzana yakafanana, semuenzaniso, kugadzirisa maitiro, kwakatungamira kune dzakasiyana nyika dzekupedzisira system.

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

"Hadoop. ZooKeeper" kubva kuMail.Ru Boka Technostream akatevedzana "Nzira dzekugoverwa kwekugadziriswa kwemavhoriyamu makuru e data muHadoop"

Source: www.habr.com

Voeg