"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Kuv xav kom koj nyeem cov ntawv sau ntawm cov lus qhuab qhia "Hadoop. ZooKeeper" los ntawm koob "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

ZooKeeper yog dab tsi, nws qhov chaw hauv Hadoop ecosystem. Untruths txog kev faib xam. Daim duab ntawm tus qauv faib qhov system. Nyuaj hauv kev sib koom ua ke faib tshuab. Tej teeb meem kev sib koom tes. Cov ntsiab cai tom qab tsim ntawm ZooKeeper. ZooKeeper data model. znode chij. Kev sib tham. Client API. Primitives (configuration, pab pawg neeg ua tswv cuab, yooj yim locks, thawj coj xaiv tsa, xauv tsis muaj herd nyhuv). ZooKeeper architecture. ZooKeeper DB. ZAB. Thov tus tuav.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Hnub no peb yuav tham txog ZooKeeper. Qhov no muaj txiaj ntsig zoo heev. Nws, zoo li txhua yam khoom Apache Hadoop, muaj lub logo. Nws depicts ib tug txiv neej.

Ua ntej no, peb tsuas yog tham txog yuav ua li cas cov ntaub ntawv tuaj yeem ua tiav nyob rau ntawd, yuav ua li cas khaws nws, uas yog, siv nws li cas thiab ua haujlwm nrog nws li cas. Thiab hnub no kuv xav tham me ntsis txog kev tsim cov ntawv thov sib faib. Thiab ZooKeeper yog ib qho ntawm cov khoom uas tso cai rau koj kom yooj yim qhov teeb meem no. Qhov no yog ib hom kev pabcuam uas yog npaj rau qee yam kev sib koom tes ntawm kev sib cuam tshuam ntawm cov txheej txheem hauv cov txheej txheem faib, hauv cov ntawv thov sib faib.

Qhov kev xav tau rau cov ntawv thov no tau dhau los ua ntau dua txhua hnub, yog li peb cov chav kawm yog txhua yam hais txog. Ntawm qhov tod tes, MapReduce thiab cov txheej txheem npaj ua tiav no tso cai rau koj los ntsuas qhov nyuaj no thiab pub dawb rau tus programmer los ntawm kev sau ntawv primitives xws li kev sib cuam tshuam thiab kev sib koom tes ntawm cov txheej txheem. Tab sis ntawm qhov tod tes, tsis muaj leej twg lav tias qhov no yuav tsis tas yuav ua li cas. MapReduce lossis lwm yam kev npaj ua tiav tsis tas yuav hloov qee qhov xwm txheej uas tsis tuaj yeem siv los siv qhov no. suav nrog MapReduce nws tus kheej thiab ib pawg ntawm lwm cov haujlwm Apache; lawv, qhov tseeb, kuj tau faib cov ntawv thov. Thiab kom sau ntawv yooj yim, lawv sau ZooKeeper.

Zoo li txhua daim ntawv thov hais txog Hadoop, nws tau tsim los ntawm Yahoo! Tam sim no nws tseem yog ib daim ntawv thov Apache. Nws tsis yog tsim los ua haujlwm zoo li HBase. Yog tias koj mus rau JIRA HBase, tom qab ntawd txhua txhua hnub muaj ntau cov ntaub ntawv kab laum, ib pawg ntawm cov lus pom zoo los ua kom zoo dua ib yam, piv txwv li lub neej hauv qhov project yog tas li mus. Thiab ZooKeeper, ntawm ib sab, yog cov khoom siv yooj yim, thiab ntawm qhov tod tes, qhov no ua kom nws ntseeg tau. Thiab nws yog qhov yooj yim heev rau siv, uas yog vim li cas nws tau dhau los ua tus qauv hauv kev siv hauv Hadoop ecosystem. Yog li kuv xav tias nws yuav muaj txiaj ntsig los tshuaj xyuas nws kom nkag siab tias nws ua haujlwm li cas thiab siv nws li cas.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Nov yog ib daim duab los ntawm ib co lus qhuab qhia peb muaj. Peb tuaj yeem hais tias nws yog orthogonal rau txhua yam uas peb tau xav txog tam sim no. Thiab txhua yam uas tau qhia ntawm no, rau ib qib lossis lwm qhov, ua haujlwm nrog ZooKeeper, piv txwv li, nws yog ib qho kev pabcuam uas siv tag nrho cov khoom no. Tsis yog HDFS lossis MapReduce sau lawv tus kheej cov kev pabcuam zoo sib xws uas yuav ua haujlwm tshwj xeeb rau lawv. Raws li, ZooKeeper siv. Thiab qhov no ua kom yooj yim rau kev txhim kho thiab qee yam cuam tshuam nrog kev ua yuam kev.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Tag nrho cov no tuaj qhov twg? Nws yuav zoo li tias peb tau pib ob daim ntawv thov sib npaug ntawm cov khoos phis tawj sib txawv, txuas nrog cov hlua lossis hauv ib lub mesh, thiab txhua yam ua haujlwm. Tab sis qhov teeb meem yog tias Network tsis muaj kev ntseeg siab, thiab yog tias koj sniffed tsheb los yog saib dab tsi tshwm sim nyob rau hauv qis qis, yuav ua li cas cov neeg siv cuam tshuam ntawm Network, koj tuaj yeem pom tias qee cov pob ntawv poob lossis rov xa rov qab. Nws tsis yog rau tsis muaj dab tsi uas TCP cov txheej txheem tau tsim, uas tso cai rau koj los tsim ib qho kev sib tham thiab lav kev xa cov lus. Txawm li cas los xij, txawm tias TCP tsis tuaj yeem cawm koj ib txwm. Txhua yam muaj lub sijhawm. Lub network yuav tsuas poob rau ib pliag. Tej zaum nws yuav ntsais xwb. Thiab qhov no tag nrho ua rau qhov tseeb tias koj tsis tuaj yeem tso siab rau Network ntseeg tau. Qhov no yog qhov sib txawv tseem ceeb ntawm kev sau cov ntawv sib txuas uas khiav ntawm ib lub khoos phis tawj lossis ntawm ib lub khoos phis tawj supercomputer, qhov twg tsis muaj Network, qhov twg muaj cov ntaub ntawv sib pauv hloov tsheb hauv nco. Thiab qhov no yog qhov sib txawv tseem ceeb.

Ntawm lwm yam, thaum siv Network, ib txwm muaj qee qhov latency. Lub disk kuj muaj nws, tab sis Network muaj ntau ntawm nws. Latency yog qee lub sijhawm ncua, uas tuaj yeem yog me me lossis tseem ceeb heev.

Lub network topology hloov pauv. Dab tsi yog topology - qhov no yog qhov kev tso kawm ntawm peb cov khoom siv network. Muaj cov ntaub ntawv chaw, muaj racks uas sawv ntsug, muaj tswm ciab. Tag nrho cov no tuaj yeem rov txuas dua, txav mus los, thiab lwm yam. Qhov no tseem yuav tsum tau coj mus rau hauv tus account. Cov npe IP hloov pauv, txoj kev uas peb cov tsheb khiav hloov pauv. Qhov no kuj yuav tsum tau coj mus rau hauv tus account.

Lub network kuj tseem tuaj yeem hloov pauv ntawm cov khoom siv. Los ntawm kev xyaum, kuv tuaj yeem hais tias peb cov engineers network yeej nyiam hloov kho qee yam ntawm cov tswm ciab. Dheev ib lub firmware tshiab tawm thiab lawv tsis txaus siab tshwj xeeb hauv qee pawg Hadoop. Lawv muaj lawv txoj haujlwm. Rau lawv, qhov tseem ceeb tshaj plaws yog tias Network ua haujlwm. Raws li, lawv xav rov upload ib yam dab tsi nyob rau ntawd, ua flashing ntawm lawv hardware, thiab cov kho vajtse kuj hloov raws sij hawm. Tag nrho cov no yuav tsum tau coj mus rau hauv tus account. Tag nrho cov no cuam tshuam rau peb daim ntawv thov faib.

Feem ntau cov neeg uas pib ua haujlwm nrog ntau cov ntaub ntawv rau qee qhov laj thawj ntseeg tias Internet tsis muaj kev txwv. Yog tias muaj cov ntaub ntawv ntawm ob peb terabytes nyob ntawd, ces koj tuaj yeem nqa mus rau koj lub server lossis computer thiab qhib nws siv. miv thiab saib. Lwm qhov yuam kev yog nyob rau hauv Vim saib cov cav. Tsis txhob ua li no vim nws phem. Vim Vim sim ua kom tsis muaj txhua yam, thauj khoom txhua yam rau hauv lub cim xeeb, tshwj xeeb tshaj yog thaum peb pib txav los ntawm lub cav no thiab nrhiav ib yam dab tsi. Cov no yog tej yam uas tsis nco qab lawm, tab sis tsim nyog xav txog.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Nws yooj yim dua los sau ib qho kev pab cuam uas khiav ntawm ib lub computer nrog ib lub processor.

Thaum peb lub cev loj hlob, peb xav ua tib zoo sib xws, thiab ua tib zoo sib xws tsis yog hauv lub computer xwb, tab sis kuj nyob rau hauv pawg. Cov lus nug tshwm sim: yuav ua li cas los tswj qhov teeb meem no? Peb cov ntawv thov yuav tsis cuam tshuam nrog ib leeg, tab sis peb tau khiav ntau cov txheej txheem ua ke ntawm ntau lub servers. Thiab yuav ua li cas saib xyuas tias txhua yam mus zoo rau lawv? Piv txwv li, lawv xa ib yam dab tsi hauv Internet. Lawv yuav tsum sau txog lawv lub xeev ib qhov chaw, piv txwv li, nyob rau hauv ib co hom databases los yog cav, ces aggregate no cav thiab ces soj ntsuam nws qhov chaw. Ntxiv rau, peb yuav tsum coj mus rau hauv tus account tias cov txheej txheem tau ua haujlwm thiab ua haujlwm, mam li nco dheev qee qhov yuam kev tshwm sim hauv nws lossis nws poob, ces peb yuav paub sai npaum li cas?

Nws yog qhov tseeb tias txhua qhov no tuaj yeem saib xyuas sai. Qhov no kuj yog qhov zoo, tab sis kev saib xyuas yog qhov txwv uas tso cai rau koj los saib xyuas qee yam ntawm qib siab tshaj plaws.

Thaum peb xav kom peb cov txheej txheem pib sib cuam tshuam nrog ib leeg, piv txwv li, xa ib co ntaub ntawv, ces cov lus nug kuj tshwm sim - qhov no yuav tshwm sim li cas? Puas yuav muaj qee hom kev sib tw, lawv puas yuav sau ib leeg, cov ntaub ntawv puas tuaj txog raug, puas yuav muaj dab tsi ploj mus? Peb yuav tsum tsim qee yam kev cai, thiab lwm yam.

Kev sib koom tes ntawm tag nrho cov txheej txheem no tsis yog qhov tsis tseem ceeb. Thiab nws yuam tus tsim tawm mus rau theem qis dua, thiab sau cov tshuab los ntawm kos, lossis tsis yog los ntawm kos, tab sis qhov no tsis yooj yim li.

Yog tias koj tuaj nrog cryptographic algorithm lossis txawm siv nws, ces muab pov tseg tam sim ntawd, vim tias feem ntau nws yuav tsis ua haujlwm rau koj. Nws feem ntau yuav muaj ntau yam tsis raug uas koj tsis nco qab muab rau. Tsis txhob siv nws rau ib yam dab tsi hnyav vim tias nws yuav tsis ruaj khov. Vim tias tag nrho cov algorithms uas muaj nyob tau raug sim los ntawm lub sijhawm ntev heev. Nws yog bugged los ntawm zej zog. Nov yog ib lub ncauj lus cais. Thiab nws zoo ib yam ntawm no. Yog tias nws tsis tuaj yeem siv qee yam txheej txheem synchronization koj tus kheej, ces nws yog qhov zoo dua tsis ua qhov no, vim tias nws nyuaj heev thiab ua rau koj mus rau txoj hauv kev tsis zoo ntawm kev tshawb nrhiav qhov tsis raug.

Hnub no peb tham txog ZooKeeper. Ntawm ib sab, nws yog lub moj khaum, ntawm qhov tod tes, nws yog ib qho kev pabcuam uas ua rau lub neej yooj yim dua rau tus tsim tawm thiab ua kom yooj yim rau kev siv cov logic thiab kev sib koom tes ntawm peb cov txheej txheem ntau li ntau tau.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Cia peb nco ntsoov tias tus txheej txheem faib khoom yuav zoo li cas. Nov yog qhov peb tham txog - HDFS, HBase. Muaj cov txheej txheem Master uas tswj cov neeg ua haujlwm thiab cov txheej txheem qhev. Nws yog lub luag haujlwm rau kev sib koom tes thiab faib cov haujlwm, rov pib cov neeg ua haujlwm, tso tawm cov tshiab, thiab faib cov khoom thauj.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Ib qho kev tshaj lij tshaj plaws yog Kev Pabcuam Kev Sib Koom Tes, uas yog, txav txoj haujlwm kev sib koom tes nws tus kheej mus rau hauv cov txheej txheem sib cais, ntxiv rau qee yam kev thaub qab lossis stanby Master nyob rau tib lub sijhawm, vim tus Xib Hwb yuav ua tsis tiav. Thiab yog tus Xib Hwb ntog, ces peb lub cev yuav tsis ua hauj lwm. Peb tab tom khiav thaub qab. Ib txhia hais tias tus Xib Hwb yuav tsum tau muab replicated rau thaub qab. Qhov no kuj tuaj yeem tso siab rau Kev Pabcuam Kev Koom Tes. Tab sis nyob rau hauv daim duab no, tus Xib Hwb nws tus kheej yog lub luag hauj lwm rau kev koom tes rau cov neeg ua hauj lwm; ntawm no cov kev pab cuam yog coordinating cov ntaub ntawv replication ua si.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Ib qho kev xaiv siab dua yog thaum txhua qhov kev sib koom tes yog ua los ntawm peb cov kev pabcuam, zoo li feem ntau ua tiav. Nws ua lub luag haujlwm kom paub tseeb tias txhua yam ua haujlwm. Thiab yog tias ib yam dab tsi tsis ua haujlwm, peb paub txog nws thiab sim mus ncig qhov xwm txheej no. Txawm li cas los xij, peb sab laug nrog tus Xib Hwb uas qee yam cuam tshuam nrog cov qhev thiab tuaj yeem xa cov ntaub ntawv, cov ntaub ntawv, cov lus, thiab lwm yam los ntawm qee qhov kev pabcuam.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Muaj ib qho txuj ci tseem ceeb tshaj, thaum peb tsis muaj tus Xib Hwb, tag nrho cov nodes yog tswv qhev, txawv ntawm lawv tus cwj pwm. Tab sis lawv tseem yuav tsum muaj kev cuam tshuam nrog ib leeg, yog li tseem muaj qee qhov kev pabcuam sab laug los tswj cov haujlwm no. Tej zaum, Cassandra, uas ua haujlwm ntawm lub hauv paus ntsiab lus no, haum rau lub tswv yim no.

Nws yog qhov nyuaj hais tias qhov twg ntawm cov txheej txheem no ua haujlwm zoo dua. Txhua tus muaj nws tus kheej pros thiab cons.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Thiab tsis tas yuav ntshai tej yam nrog tus Xib Hwb, vim hais tias, raws li kev xyaum qhia, nws tsis yog li ntawd txaus ntshai mus tas li ua hauj lwm. Qhov tseem ceeb ntawm no yog xaiv txoj kev daws teeb meem rau hosting qhov kev pabcuam no ntawm lub zog sib cais, kom nws muaj peev txheej txaus, yog li ntawd, yog tias ua tau, cov neeg siv tsis tuaj yeem nkag mus rau qhov ntawd, kom lawv tsis txhob yuam kev tua cov txheej txheem no. Tab sis nyob rau tib lub sijhawm, nyob rau hauv cov tswv yim zoo li no nws yooj yim dua los tswj cov neeg ua haujlwm los ntawm tus txheej txheem Master, piv txwv li cov tswv yim no yooj yim dua los ntawm qhov pom ntawm kev siv.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Thiab cov txheej txheem no (saum toj no) tej zaum yuav nyuaj, tab sis txhim khu kev qha.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Qhov teeb meem tseem ceeb yog kev ua tsis tiav ib nrab. Piv txwv li, thaum peb xa xov hauv Network, qee yam kev huam yuaj tshwm sim, thiab tus neeg xa xov yuav tsis paub seb nws cov lus puas tau txais thiab muaj dab tsi tshwm sim ntawm tus txais sab nraud, yuav tsis paub tias cov lus tau ua tiav lawm. , i.e. nws yuav tsis tau txais kev lees paub.

Raws li, peb yuav tsum ua qhov xwm txheej no. Thiab qhov yooj yim tshaj plaws yog rov xa cov lus no thiab tos kom txog thaum peb tau txais cov lus teb. Hauv qhov no, nws tsis raug coj mus rau hauv tus account seb lub xeev ntawm tus txais tau hloov pauv. Tej zaum peb yuav xa lus thiab ntxiv cov ntaub ntawv qub ob zaug.

ZooKeeper muaj txoj hauv kev los daws cov kev tsis lees paub, uas tseem ua rau peb lub neej yooj yim dua.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Raws li tau hais ua ntej me ntsis, qhov no zoo ib yam li kev sau ntau cov xov xwm, tab sis qhov sib txawv tseem ceeb yog tias hauv cov ntawv thov sib faib uas peb tsim ntawm cov tshuab sib txawv, tib txoj hauv kev sib txuas lus yog Network. Qhov tseem ceeb, qhov no yog kev sib koom-tsis muaj dab tsi architecture. Txhua tus txheej txheem lossis kev pabcuam uas khiav ntawm ib lub tshuab muaj nws lub cim xeeb, nws tus kheej disk, nws tus kheej processor, uas nws tsis qhia rau leej twg.

Yog hais tias peb sau ib tug multi-threaded program nyob rau hauv ib lub computer, ces peb yuav siv tau sib koom nco los pauv cov ntaub ntawv. Peb muaj lub ntsiab lus hloov nyob rau ntawd, cov txheej txheem tuaj yeem hloov. Qhov no cuam tshuam rau kev ua haujlwm. Ntawm qhov tod tes, tsis muaj qhov zoo li no hauv qhov program ntawm pawg, tab sis muaj teeb meem nrog Network.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Raws li, cov teeb meem tseem ceeb uas tshwm sim thaum sau cov kab ke faib yog kev teeb tsa. Peb tab tom sau qee yam kev thov. Yog tias nws yooj yim, ces peb hardcode txhua yam ntawm cov lej hauv cov lej, tab sis qhov no tsis yooj yim, vim tias yog tias peb txiav txim siab tias tsis yog lub sijhawm ntawm ib nrab thib ob peb xav tau lub sijhawm ntawm ib thib ob, peb yuav tsum rov ua dua daim ntawv thov thiab yob txhua yam tawm dua. Nws yog ib yam thaum nws nyob ntawm ib lub tshuab, thaum koj tuaj yeem rov pib dua, tab sis thaum peb muaj ntau lub tshuab, peb yuav tsum tau luam txhua yam. Peb yuav tsum sim ua kom daim ntawv thov configurable.

Ntawm no peb tab tom tham txog kev teeb tsa zoo li qub rau cov txheej txheem system. Qhov no tsis yog tag nrho, tej zaum los ntawm kev ua haujlwm ntawm qhov kev pom, nws yuav yog qhov kev teeb tsa zoo li qub rau peb cov txheej txheem, piv txwv li qhov no yog qhov kev teeb tsa uas tsis tuaj yeem nqa thiab hloov kho.

Kuj tseem muaj qhov dynamic configuration. Cov no yog cov kev txwv uas peb xav hloov ntawm ya kom lawv tuaj tos.

Qhov teeb meem ntawm no yog dab tsi? Peb hloov kho lub config, dov nws tawm, yog li cas? Qhov teeb meem yog tias ntawm ib sab peb dov tawm lub config, tab sis tsis nco qab txog qhov tshiab, lub config tseem nyob ntawd. Thib ob, thaum peb tab tom nthuav tawm, qhov kev teeb tsa tau hloov kho hauv qee qhov chaw, tab sis tsis nyob hauv lwm tus. Thiab qee cov txheej txheem ntawm peb daim ntawv thov uas khiav ntawm ib lub tshuab tau rov pib dua nrog lub teeb tsa tshiab, thiab qhov chaw nrog ib qho qub. Qhov no tuaj yeem ua rau peb daim ntawv thov kev faib tawm tsis sib xws los ntawm kev pom kev teeb tsa. Qhov teeb meem no tshwm sim. Rau kev teeb tsa dynamic, nws muaj feem cuam tshuam ntau dua vim tias nws txhais tau tias nws tuaj yeem hloov pauv ntawm ya.

Lwm qhov teeb meem yog kev koom nrog pab pawg. Peb ib txwm muaj ib co neeg ua hauj lwm, peb ib txwm xav paub tias ntawm lawv yog leej twg ciaj sia, leej twg ntawm lawv tuag. Yog tias muaj tus Xib Hwb, ces nws yuav tsum nkag siab tias cov neeg ua haujlwm twg tuaj yeem raug xa mus rau cov neeg siv khoom kom lawv khiav kev suav lossis ua haujlwm nrog cov ntaub ntawv, thiab qhov twg tsis tuaj yeem. Ib qho teeb meem uas tshwm sim tas li yog peb yuav tsum paub leej twg ua haujlwm hauv peb pawg.

Lwm qhov teeb meem yog kev xaiv tsa thawj coj, thaum peb xav paub leej twg yog tus thawj coj. Ib qho piv txwv yog replication, thaum peb muaj qee cov txheej txheem uas tau txais kev sau ntawv thiab tom qab ntawd rov ua dua ntawm lwm cov txheej txheem. Nws yuav ua tus thawj coj, txhua tus yuav mloog nws lus, yuav ua raws li nws. Nws yog ib qho tsim nyog yuav tau xaiv cov txheej txheem kom nws tsis meej rau txhua tus, kom tsis txhob muaj ob tus thawj coj raug xaiv.

Kuj tseem muaj kev sib koom ua ke. Qhov teeb meem ntawm no yog complex. Muaj ib qho zoo li mutex, thaum koj sau cov kev pab cuam ntau txoj xov thiab xav nkag mus rau qee qhov chaw, piv txwv li, lub cim xeeb ntawm tes, yuav tsum txwv thiab nqa tawm los ntawm ib qho xov nkaus xwb. Ntawm no cov peev txheej tuaj yeem yog ib yam dab tsi ntxiv. Thiab cov ntawv thov sib txawv los ntawm cov kab sib txawv ntawm peb lub Network yuav tsum tsuas yog tau txais kev nkag mus rau cov peev txheej, thiab tsis yog kom txhua tus tuaj yeem hloov pauv lossis sau qee yam nyob ntawd. Cov no yog cov kaw lus.

ZooKeeper tso cai rau koj los daws tag nrho cov teeb meem no mus rau ib qib lossis lwm qhov. Thiab kuv yuav qhia nrog cov piv txwv li cas nws tso cai rau koj ua qhov no.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Tsis muaj kev thaiv cov primitives. Thaum peb pib siv ib yam dab tsi, qhov qub qub no yuav tsis tos kom muaj qhov tshwm sim tshwm sim. Feem ntau, qhov no yuav ua haujlwm asynchronously, yog li tso cai rau cov txheej txheem tsis txhob dai thaum lawv tos rau ib yam dab tsi. Qhov no yog ib qho tseem ceeb heev.

Tag nrho cov neeg thov kev thov raug ua tiav hauv qhov kev txiav txim ntawm cov kab ke dav dav.

Thiab cov neeg siv khoom muaj sijhawm kom tau txais kev ceeb toom txog kev hloov pauv hauv qee lub xeev, txog kev hloov pauv ntawm cov ntaub ntawv, ua ntej tus neeg siv pom cov ntaub ntawv hloov pauv lawv tus kheej.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

ZooKeeper tuaj yeem ua haujlwm hauv ob hom. Qhov thib ib yog standalone, ntawm ib leeg. Qhov no yooj yim rau kev sim. Nws tuaj yeem ua haujlwm hauv pawg hom ntawm txhua tus servers. Yog tias peb muaj ib pawg ntawm 100 lub tshuab, ces nws tsis tsim nyog rau nws ua haujlwm ntawm 100 lub tshuab. Nws txaus los xaiv ntau lub tshuab uas koj tuaj yeem khiav ZooKeeper. Thiab nws professes lub hauv paus ntsiab lus ntawm siab muaj. Ntawm txhua qhov ua piv txwv, ZooKeeper khaws tag nrho cov ntawv luam ntawm cov ntaub ntawv. Tom qab ntawd kuv mam li qhia koj seb nws ua li cas. Nws tsis shard cov ntaub ntawv los yog muab faib nws. Ntawm ib sab, nws yog qhov rho tawm uas peb khaws tsis tau ntau, ntawm qhov tod tes, tsis tas yuav ua qhov no. Qhov ntawd tsis yog qhov nws tsim los rau, nws tsis yog database.

Cov ntaub ntawv tuaj yeem cached ntawm tus neeg siv khoom sab. Qhov no yog lub hauv paus ntsiab lus kom peb tsis txhob cuam tshuam cov kev pabcuam thiab tsis txhob thauj khoom nrog tib qhov kev thov. Tus neeg siv khoom ntse feem ntau paub txog qhov no thiab caches nws.

Piv txwv li, ib yam dab tsi tau hloov ntawm no. Muaj qee yam kev thov. Ib tug thawj coj tshiab raug xaiv, uas yog lub luag haujlwm, piv txwv li, rau kev sau ntawv ua haujlwm. Thiab peb xav replicate cov ntaub ntawv. Ib qho kev daws teeb meem yog muab tso rau hauv ib lub voj voog. Thiab peb pheej nug peb cov kev pabcuam - puas muaj dab tsi hloov? Qhov kev xaiv thib ob yog qhov zoo tshaj plaws. Qhov no yog lub tshuab saib uas tso cai rau koj ceeb toom rau cov neeg siv khoom tias qee yam hloov pauv. Qhov no yog ib txoj kev pheej yig dua ntawm cov peev txheej thiab yooj yim dua rau cov neeg siv khoom.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Client yog tus neeg siv uas siv ZooKeeper.

Server yog tus txheej txheem ZooKeeper nws tus kheej.

Znode yog qhov tseem ceeb hauv ZooKeeper. Tag nrho cov znodes tau khaws cia rau hauv lub cim xeeb los ntawm ZooKeeper thiab tau teeb tsa hauv daim duab kos duab hierarchical, hauv daim ntawv ntoo.

Muaj ob hom kev ua haujlwm. Thawj yog hloov kho / sau, thaum qee qhov kev ua haujlwm hloov lub xeev ntawm peb tsob ntoo. Tsob ntoo muaj ntau.

Thiab nws muaj peev xwm hais tias tus neeg siv tsis ua tiav ib qho kev thov thiab raug txiav, tab sis tuaj yeem tsim kev sib tham los ntawm kev sib cuam tshuam nrog ZooKeeper.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

ZooKeeper cov ntaub ntawv qauv zoo li cov ntaub ntawv kaw lus. Muaj ib tug txheej txheem hauv paus thiab ces peb mus zoo li yog hais tias los ntawm cov directory uas mus los ntawm lub hauv paus. Thiab ces lub catalog ntawm thawj theem, theem ob. Qhov no yog tag nrho cov znodes.

Txhua znode tuaj yeem khaws qee cov ntaub ntawv, feem ntau tsis loj heev, piv txwv li, 10 kilobytes. Thiab txhua znode tuaj yeem muaj qee tus menyuam yaus.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Znodes tuaj ntau hom. Lawv tuaj yeem tsim tau. Thiab thaum tsim ib znode, peb qhia cov hom uas nws yuav tsum muaj.

Muaj ob hom. Thawj yog tus chij ephemeral. Znode nyob hauv ib qho kev sib tham. Piv txwv li, tus neeg siv khoom tau tsim kev sib tham. Thiab ntev npaum li qhov kev sib tham no tseem muaj sia nyob, nws yuav muaj nyob. Qhov no yog qhov tsim nyog kom tsis txhob tsim ib yam dab tsi tsis tsim nyog. Qhov no kuj tsim nyog rau lub sijhawm thaum nws tseem ceeb rau peb khaws cov ntaub ntawv primitives hauv kev sib kho.

Hom thib ob yog tus chij sequential. Nws nce lub txee ntawm txoj kev mus rau znode. Piv txwv li, peb muaj ib daim ntawv teev npe nrog daim ntawv thov 1_5. Thiab thaum peb tsim thawj node, nws tau txais p_1, qhov thib ob - p_2. Thiab thaum peb hu rau txoj kev no txhua zaus, peb dhau txoj kev tag nrho, qhia tsuas yog ib feem ntawm txoj kev, thiab tus lej no tau txais kev nce ntxiv vim peb qhia txog hom node - sequential.

Tsis tu ncua znode. Nws yeej yuav nyob thiab muaj lub npe uas peb qhia rau nws.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Lwm qhov tseem ceeb yog lub cim saib. Yog tias peb nruab nws, ces tus neeg siv tuaj yeem sau npe rau qee qhov xwm txheej rau ib qho tshwj xeeb. Kuv yuav qhia koj tom qab nrog ib qho piv txwv li cas qhov no ua tiav. ZooKeeper nws tus kheej ceeb toom rau tus neeg siv khoom tias cov ntaub ntawv ntawm lub node tau hloov pauv. Txawm li cas los xij, cov ntawv ceeb toom tsis lav tias qee cov ntaub ntawv tshiab tau tuaj txog. Lawv tsuas hais tias ib yam dab tsi tau hloov pauv, yog li koj tseem yuav tsum sib piv cov ntaub ntawv tom qab nrog kev hu xov tooj sib cais.

Thiab raws li kuv twb tau hais lawm, qhov kev txiav txim ntawm cov ntaub ntawv yog txiav txim los ntawm kilobytes. Tsis tas yuav khaws cov ntaub ntawv loj nyob rau ntawd, vim tias nws tsis yog database, nws yog kev sib koom tes ua haujlwm.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Kuv yuav qhia koj me ntsis txog cov kev sib tham. Yog tias peb muaj ntau lub servers, ces peb tuaj yeem ua pob tshab txav los ntawm cov neeg rau zaub mov mus rau cov neeg rau zaub mov siv tus cim kev sib kho. Nws yooj yim heev.

Txhua qhov kev sib tham muaj qee yam sijhawm. Kev sib kho yog txhais los ntawm seb tus neeg siv khoom xa dab tsi rau lub server thaum lub sijhawm sib tham. Yog tias nws tsis tau xa ib yam dab tsi thaum lub sijhawm ua haujlwm, qhov kev sib tham poob, lossis tus neeg siv khoom tuaj yeem kaw nws tus kheej.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Nws tsis muaj ntau yam nta, tab sis koj tuaj yeem ua ntau yam nrog API no. Qhov kev hu peb pom tsim tsim ib znode thiab siv peb qhov tsis muaj. Qhov no yog txoj kev mus rau znode, thiab nws yuav tsum tau teev nyob rau hauv tag nrho los ntawm lub hauv paus. Thiab qhov no yog qee cov ntaub ntawv uas peb xav hloov mus rau ntawd. Thiab hom chij. Thiab tom qab tsim nws rov qab txoj hauv kev mus rau znode.

Qhov thib ob, koj tuaj yeem rho tawm nws. Qhov ua kom yuam kev ntawm no yog qhov thib ob parameter, ntxiv rau txoj hauv kev mus rau znode, tuaj yeem hais qhia qhov version. Raws li, qhov znode yuav raug muab tshem tawm yog tias nws cov version uas peb pauv yog sib npaug rau qhov uas muaj tiag.

Yog tias peb tsis xav kuaj qhov version no, ces peb tsuas dhau qhov kev sib cav "-1".

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Thib peb, nws tshawb xyuas qhov muaj nyob ntawm znode. Rov qab muaj tseeb yog cov node muaj, tsis muaj tseeb.

Thiab tom qab ntawd chij saib tshwm, uas tso cai rau koj los saib xyuas qhov node.

Koj tuaj yeem teeb tsa tus chij no txawm nyob rau ntawm qhov tsis muaj nyob thiab tau txais kev ceeb toom thaum nws tshwm. Qhov no kuj yuav pab tau.

Muaj ob peb qhov kev sib tw ntxiv getData. Nws yog tseeb tias peb tuaj yeem tau txais cov ntaub ntawv ntawm znode. Koj tuaj yeem siv chij saib. Hauv qhov no, nws yuav tsis nruab yog tias tsis muaj node. Yog li ntawd, koj yuav tsum nkag siab tias nws muaj, thiab tom qab ntawd tau txais cov ntaub ntawv.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Kuj muaj SetData. Ntawm no peb dhau version. Thiab yog tias peb dhau qhov no, cov ntaub ntawv ntawm znode ntawm qee qhov version yuav raug hloov kho.

Koj tuaj yeem hais qhia "-1" kom tsis suav nrog daim tshev no.

Lwm txoj kev muaj txiaj ntsig yog tau menyuam. Peb kuj tuaj yeem tau txais cov npe ntawm tag nrho cov znodes uas yog nws. Peb tuaj yeem saib xyuas qhov no los ntawm kev teeb tsa chij saib.

Thiab txoj kev sync tso cai rau txhua qhov kev hloov pauv xa mus rau ib zaug, yog li ua kom ntseeg tau tias lawv tau txais kev cawmdim thiab tag nrho cov ntaub ntawv tau hloov pauv tag nrho.

Yog tias peb kos cov lus piv txwv nrog kev ua haujlwm tsis tu ncua, ces thaum koj siv txoj hauv kev xws li sau ntawv, uas sau ib yam dab tsi rau disk, thiab tom qab nws rov qab teb rau koj, tsis muaj kev lees paub tias koj tau sau cov ntaub ntawv rau disk. Thiab txawm tias thaum lub operating system muaj kev ntseeg siab tias txhua yam tau sau tseg, muaj cov txheej txheem hauv disk nws tus kheej qhov twg cov txheej txheem mus los ntawm cov txheej txheem ntawm buffers, thiab tsuas yog tom qab ntawd cov ntaub ntawv tau muab tso rau hauv disk.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Feem ntau siv asynchronous hu. Qhov no tso cai rau tus neeg siv khoom ua haujlwm ua ke nrog kev thov sib txawv. Koj tuaj yeem siv txoj hauv kev synchronous, tab sis nws tsis tsim nyog.

Ob txoj haujlwm peb tau tham txog yog hloov kho / sau, uas hloov cov ntaub ntawv. Cov no yog tsim, setData, sync, rho tawm. Thiab nyeem yog muaj, getData, getChildren.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Tam sim no ob peb yam piv txwv ntawm yuav ua li cas koj tuaj yeem ua qhov tseem ceeb rau kev ua haujlwm hauv kev faib tawm. Piv txwv li, muaj feem xyuam rau kev teeb tsa ntawm ib yam dab tsi. Ib tug neeg ua haujlwm tshiab tau tshwm sim. Peb ntxiv lub tshuab thiab pib cov txheej txheem. Thiab muaj peb lo lus nug nram qab no. Nws nug ZooKeeper li cas rau kev teeb tsa? Thiab yog tias peb xav hloov lub configuration, peb yuav hloov nws li cas? Thiab tom qab peb hloov nws, ua li cas cov neeg ua haujlwm uas peb tau txais nws?

ZooKeeper ua qhov no yooj yim heev. Piv txwv li, muaj peb tsob ntoo znode. Muaj ib qho ntawm peb daim ntawv thov ntawm no, peb tsim ib qho ntxiv ntawm nws, uas muaj cov ntaub ntawv los ntawm kev teeb tsa. Cov no tej zaum yuav los yog tsis yog cais tsis. Txij li qhov loj me me, qhov loj me me feem ntau yog me me, yog li nws muaj peev xwm khaws cia ntawm no.

Koj siv txoj kev getData kom tau txais kev teeb tsa rau tus neeg ua haujlwm los ntawm cov node. Teem kom muaj tseeb. Yog tias vim li cas qhov node tsis muaj, peb yuav raug ceeb toom txog nws thaum nws tshwm sim, lossis thaum nws hloov pauv. Yog tias peb xav paub tias ib yam dab tsi tau hloov, ces peb muab nws rau qhov tseeb. Thiab yog tias cov ntaub ntawv hauv node hloov pauv, peb yuav paub txog nws.

SetData. Peb teeb tsa cov ntaub ntawv, teeb "-1", piv txwv li peb tsis kuaj lub version, peb xav tias peb ib txwm muaj ib qho kev teeb tsa, peb tsis tas yuav khaws ntau qhov kev teeb tsa. Yog tias koj xav khaws ntau, koj yuav tsum tau ntxiv lwm qib. Ntawm no peb ntseeg tias tsuas muaj ib qho xwb, yog li peb hloov kho tsuas yog qhov tseeb, yog li peb tsis kuaj lub version. Lub sijhawm no, txhua tus neeg tau txais kev pabcuam yav dhau los tau txais kev ceeb toom tias qee yam tau hloov pauv hauv qhov no. Thiab tom qab lawv tau txais lawm, lawv kuj yuav tsum tau thov cov ntaub ntawv dua. Kev ceeb toom yog tias lawv tsis tau txais cov ntaub ntawv nws tus kheej, tab sis tsuas yog ceeb toom ntawm kev hloov pauv. Tom qab no lawv yuav tsum nug cov ntaub ntawv tshiab.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Qhov thib ob kev xaiv rau kev siv cov primitive yog pab pawg ua tswv cuab. Peb muaj daim ntawv thov faib, muaj pawg neeg ua haujlwm thiab peb xav kom nkag siab tias lawv txhua tus nyob hauv qhov chaw. Yog li ntawd, lawv yuav tsum sau npe rau lawv tus kheej tias lawv ua haujlwm hauv peb daim ntawv thov. Thiab peb kuj xav paub, tsis hais los ntawm tus txheej txheem Master lossis lwm qhov, txog txhua tus neeg ua haujlwm nquag uas peb muaj tam sim no.

Peb ua li no li cas? Rau daim ntawv thov, peb tsim cov neeg ua haujlwm node thiab ntxiv sublevel nyob rau ntawd siv txoj kev tsim. Kuv muaj qhov yuam kev ntawm tus swb. Ntawm no koj xav tau ua ntu zus qhia meej, ces txhua tus neeg ua haujlwm yuav raug tsim los ntawm ib tus. Thiab daim ntawv thov, thov tag nrho cov ntaub ntawv hais txog cov menyuam yaus ntawm node, tau txais tag nrho cov neeg ua haujlwm nquag uas muaj nyob.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Qhov no yog qhov txaus ntshai kev siv yuav ua li cas qhov no tuaj yeem ua tiav hauv Java code. Cia peb pib los ntawm qhov kawg, nrog rau txoj kev tseem ceeb. Qhov no yog peb chav kawm, cia peb tsim nws txoj kev. Raws li thawj qhov kev sib cav peb siv tus tswv tsev, qhov twg peb tab tom txuas, piv txwv li peb muab nws ua kev sib cav. Thiab qhov kev sib cav thib ob yog lub npe ntawm pawg.

Kev sib txuas li cas? Qhov no yog ib qho piv txwv yooj yim ntawm API uas siv. Txhua yam yog qhov yooj yim ntawm no. Muaj ib chav kawm zooKeeper. Peb hla hosts rau nws. Thiab teem lub sij hawm, piv txwv li, rau 5 vib nas this. Thiab peb muaj ib tug tswv cuab hu ua txuas nrogSignal. Qhov tseem ceeb, peb tsim ib pab pawg raws txoj kev sib kis. Peb tsis sau cov ntaub ntawv rau ntawd, txawm hais tias qee yam tuaj yeem sau tau. Thiab cov node ntawm no yog ntawm hom tsis tu ncua. Qhov tseem ceeb, qhov no yog qhov zoo ib yam ntawm cov node uas yuav muaj nyob txhua lub sijhawm. Qhov no yog qhov kev sib kho yog tsim. Qhov no yog qhov kev siv ntawm tus neeg siv khoom nws tus kheej. Peb cov neeg siv khoom yuav xa cov lus qhia ib ntus qhia tias qhov kev sib kho muaj sia nyob. Thiab thaum peb xaus qhov kev sib tham, peb hu rau ze thiab qhov ntawd yog nws, qhov kev sib tham poob. Qhov no yog qee yam poob rau peb, kom ZooKeeper paub txog nws thiab txiav tawm qhov kev sib tham.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Yuav ua li cas xauv cov peev txheej? Ntawm no txhua yam yog me ntsis nyuab dua. Peb muaj pawg neeg ua haujlwm, muaj qee qhov kev pabcuam uas peb xav kaw. Txhawm rau ua qhov no, peb tsim ib qho kev sib cais, piv txwv li, hu ua lock1. Yog tias peb muaj peev xwm tsim tau, ces peb tau txais lub xauv ntawm no. Thiab yog tias peb tsis tuaj yeem tsim nws, tus neeg ua haujlwm sim tau txais cov ntaub ntawv los ntawm qhov no, thiab txij li cov node tau tsim lawm, ces peb muab tus saib xyuas ntawm no thiab lub sijhawm lub xeev ntawm node hloov pauv, peb yuav paub txog nws. Thiab peb tuaj yeem sim muaj sijhawm los tsim nws. Yog tias peb nqa lub node, muab lub xauv no, tom qab ntawd tom qab peb tsis xav tau lub xauv lawm, peb yuav tso tseg, vim tias cov node tsuas muaj nyob hauv qhov kev sib kho. Raws li, nws yuav ploj mus. Thiab lwm tus neeg siv khoom, nyob rau hauv lub moj khaum ntawm lwm qhov kev sib tham, yuav tuaj yeem nqa lub xauv ntawm lub node, lossis theej, nws yuav tau txais kev ceeb toom tias qee yam tau hloov pauv thiab nws tuaj yeem sim ua nws raws sijhawm.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Lwm qhov piv txwv ntawm qhov koj tuaj yeem xaiv tus thawj coj loj. Qhov no yog me ntsis nyuab dua, tab sis kuj kuj yooj yim. Yuav ua li cas ntawm no? Nws muaj lub hauv paus ntsiab lus uas suav tag nrho cov neeg ua haujlwm. Peb tab tom sim kom tau txais cov ntaub ntawv hais txog tus thawj coj. Yog tias qhov no tshwm sim tiav, piv txwv li peb tau txais qee cov ntaub ntawv, ces peb cov neeg ua haujlwm pib ua raws tus thawj coj no. Nws ntseeg tias twb muaj ib tug thawj coj lawm.

Yog tias tus thawj coj tuag rau qee yam, piv txwv li, poob tawm, ces peb sim tsim ib tus thawj coj tshiab. Thiab yog tias peb ua tiav, ces peb cov neeg ua haujlwm dhau los ua tus thawj coj. Thiab yog tias ib tug neeg nyob rau lub sijhawm no tau tswj hwm los tsim tus thawj coj tshiab, peb sim nkag siab tias nws yog leej twg thiab ua raws li nws.

Ntawm no yog lub npe hu ua pab pawg tshwm sim, piv txwv li cov txiaj ntsig pab tsiaj, vim tias thaum tus thawj coj tuag, tus thawj coj hauv lub sijhawm yuav dhau los ua thawj coj.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Thaum khaws cov peev txheej, koj tuaj yeem sim siv qhov sib txawv me ntsis, uas yog raws li hauv qab no. Piv txwv li, peb xav tau ib lub xauv, tab sis tsis muaj cov nyhuv hert. Nws yuav muaj nyob rau hauv qhov tseeb tias peb daim ntawv thov thov cov npe ntawm tag nrho cov node ids rau ib qho uas twb muaj lawm node nrog lub xauv. Thiab yog tias ua ntej qhov node uas peb tsim lub xauv yog qhov tsawg tshaj plaws ntawm cov txheej txheem uas peb tau txais, qhov no txhais tau tias peb tau ntes lub xauv. Peb xyuas tias peb tau txais lub xauv. Raws li kev txheeb xyuas, yuav muaj qhov xwm txheej uas tus id uas peb tau txais thaum tsim lub xauv tshiab yog tsawg. Thiab yog tias peb tau txais nws, ces peb ua haujlwm ntxiv.

Yog tias muaj qee tus ID uas me dua peb lub xauv, ces peb muab tus neeg saib xyuas ntawm qhov xwm txheej no thiab tos kom ceeb toom kom txog thaum muaj qee yam hloov. Ntawd yog, peb tau txais lub xauv no. Thiab kom txog thaum nws ntog, peb yuav tsis dhau los ua tus id yam tsawg kawg nkaus thiab yuav tsis tau txais qhov ntsuas qhov tsawg kawg nkaus, thiab yog li peb tuaj yeem nkag mus. Thiab yog tias tus mob no tsis tau ntsib, ces peb tam sim ntawd mus ntawm no thiab sim kom tau txais lub xauv no dua, vim tias qee yam yuav hloov pauv thaum lub sijhawm no.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

ZooKeeper muaj dab tsi? Muaj 4 yam tseem ceeb. Qhov no yog cov txheej txheem ua - Thov. Thiab ZooKeeper Atomic Broadcast. Nws muaj Daim Ntawv Cog Lus uas txhua qhov haujlwm raug kaw. Thiab hauv-nco Replicated DB nws tus kheej, piv txwv li lub database nws tus kheej qhov twg tag nrho tsob ntoo no yog khaws cia.

Nws yog ib qho tsim nyog sau cia tias txhua qhov kev sau ntawv mus dhau ntawm Tus Txheej Txheem Thov. Thiab nyeem cov haujlwm ncaj qha mus rau In-memory database.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Lub database nws tus kheej yog tag nrho replicated. Txhua qhov xwm txheej ntawm ZooKeeper khaws ib daim ntawv luam ntawm cov ntaub ntawv tiav.

Txhawm rau rov qab kho cov ntaub ntawv tom qab kev sib tsoo, muaj ib daim ntawv cog lus. Kev coj ua qauv yog tias ua ntej cov ntaub ntawv nkag mus rau hauv lub cim xeeb, nws tau sau rau ntawd yog tias nws tsoo, lub cav no tuaj yeem raug ntaus rov qab thiab lub xeev tuaj yeem rov qab los. Thiab ib ntus snapshots ntawm lub database kuj siv.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

ZooKeeper Atomic Broadcast yog ib yam uas siv los tswj cov ntaub ntawv rov ua dua.

ZAB sab hauv xaiv tus thawj coj los ntawm qhov pom ntawm ZooKeeper node. Lwm cov nodes dhau los ua nws cov thwjtim thiab cia siab tias yuav ua qee yam los ntawm nws. Yog tias lawv tau txais kev nkag, lawv xa lawv tag nrho mus rau tus thawj coj. Nws thawj zaug ua haujlwm sau ntawv thiab tom qab ntawd xa cov lus hais txog qhov hloov pauv rau nws cov thwjtim. Qhov no, qhov tseeb, yuav tsum tau ua atomically, piv txwv li cov ntaubntawv povthawj siv thiab tshaj tawm cov haujlwm ntawm tag nrho cov khoom yuav tsum tau ua atomically, yog li lav cov ntaub ntawv sib xws.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop" Nws tsuas yog sau cov lus thov. Nws lub luag haujlwm tseem ceeb yog tias nws hloov pauv txoj haujlwm mus rau hauv kev hloov pauv hloov pauv. Qhov no yog kev thov tshwj xeeb tsim.

Thiab ntawm no nws yog tsim nyog sau cia tias lub ideempotency ntawm kev hloov tshiab rau tib lub lag luam yog guaranteed. Nws yog dab tsi? Qhov no, yog tias ua tiav ob zaug, yuav muaj tib lub xeev, piv txwv li qhov kev thov nws tus kheej yuav tsis hloov. Thiab qhov no yuav tsum tau ua kom thiaj li muaj kev sib tsoo, koj tuaj yeem rov pib ua haujlwm, yog li dov rov qab cov kev hloov pauv uas tau poob tam sim no. Nyob rau hauv cov ntaub ntawv no, lub xeev ntawm lub system yuav zoo li qub, i.e. nws yuav tsum tsis txhob yog cov ntaub ntawv uas ib tug series ntawm tib, piv txwv li, hloov tshiab txheej txheem, coj mus rau txawv lub xeev kawg ntawm lub system.

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

"Hoob. ZooKeeper" los ntawm Mail.Ru Group Technostream series "Txoj hauv kev rau kev faib ua cov ntaub ntawv loj hauv Hadoop"

Tau qhov twg los: www.hab.com

Ntxiv ib saib