ZooKeeperi õpetus

Mis on hajutatud süsteem?

Hajutatud rakendus on rakendus, mis võib töötada mitmes võrgus olevas süsteemis. See töötab samaaegselt, koordineerides ennast teatud ülesande täitmiseks. Nende ülesannete täitmiseks võib mis tahes levitamata rakendusega kuluda palju tunde.

Mis on Zookeeper?

Apache loomaaiapidaja on avatud lähtekoodiga hajutatud koordineerimisteenus, mis aitab hallata suurt hulka hoste. Haldamine ja koordineerimine hajutatud keskkonnas on keeruline. Zookeeper automatiseerib selle protsessi ja võimaldab arendajatel keskenduda tarkvara funktsioonide loomisele, mitte muretseda selle hajutatud olemuse pärast.

Zookeeper aitab teil hallata hajutatud rakenduste konfiguratsiooniteavet, nimetamist ja rühmateenuseid. See rakendab klastris erinevaid protokolle, nii et rakendus ei peaks ise rakendama. See annab ühe sidusa ülevaate mitmest masinast.

Miks Apache Zookeeper?

Siin on Zookeeperi populaarsuse olulised põhjused:

  • See võimaldab serveriprotsesside vastastikust välistamist ja koostööd
  • See tagab, et teie rakendus töötab järjepidevalt.
  • Tehinguprotsess ei ole kunagi osaliselt lõpule viidud. Sellele antakse staatus Edu või ebaõnnestumine. Jaotatud olekut saab üleval hoida, kuid see pole kunagi vale
  • Sõltumata serverist, millega ta ühenduse loob, näeb klient teenusest sama vaadet
  • Aitab teil andmeid kodeerida vastavalt konkreetsetele reeglitele
  • See aitab säilitada standardset hierarhilist nimeruumi, mis sarnaneb failide ja kataloogidega
  • Arvutid, mis töötavad ühtse süsteemina, mida saab lokaalselt või geograafiliselt ühendada
  • See võimaldab reaalajas liituda / lahkuda sõlmest klastrisse ja sõlme olekut
  • Saate jõudlust suurendada, juurutades rohkem masinaid
  • See võimaldab teil valida sõlme juhiks paremaks koordineerimiseks
  • ZooKeeper töötab kiiresti töökoormustega, kus andmete lugemine on tavalisem kui kirjutamine

Loomaaiatalitaja ArchiTektuur: kuidas see toimib?

Siin on lühike selgitus selle kohta Apache Loomaaiapidaja arhitektuur:

  • Loomaaiapidaja järgib klient-serverit Architektuur
  • Kõik süsteemid salvestavad andmete koopiad
  • Juhid valitakse käivitamisel
ArchiZooKeeperi teostus
ArchiZooKeeperi teostus

Server: Server saadab kinnituse, kui mis tahes klient ühenduse loob. Juhul, kui ühendatud server ei vasta, suunab klient sõnumi automaatselt ümber teise serverisse.

klient: Klient on hajutatud rakenduste klastri üks sõlmedest. See aitab teil serverist teabele juurde pääseda. Iga klient saadab serverile regulaarsete ajavahemike järel sõnumi, mis aitab serveril teada, et klient on elus.

Leader: Üks serveritest on määratud juhiks. See annab klientidele kogu teabe ja ka kinnituse, et server on elus. See teostab automaatse taastamise, kui mõni ühendatud sõlmedest ebaõnnestub.

Jälgija: Serverisõlme, mis järgib juhi juhiseid, nimetatakse järgijaks.

  • Kliendi lugemispäringuid käsitleb vastavalt ühendatud Zookeeperi server
  • Kliendi kirjataotlustega tegeleb loomaaiapidaja juht.

ansambel/Cluster: Zookeeperi serverite rühm, mida nimetatakse ansambliks või a Cluster. Saate kasutada ZooKeeperi infrastruktuuri klastrirežiimis, et Apache'i käitamise ajal oleks süsteem optimaalses väärtuses.

ZooKeeper WebUI: Kui soovite töötada ZooKeeperi ressursihaldusega, peate kasutama WebUI. See võimaldab ZooKeeperiga töötada käsurea asemel veebikasutajaliidese abil. See pakub kiiret ja tõhusat suhtlust rakendusega ZooKeeper.

Loomaaiapidaja andmemudel (ZDM)

Nüüd selles ZooKeeperi õpetuses tutvume Zookeeperi andmemudeliga. Allolev joonis selgitab Apache Zookeeperi andmemudelit:

Loomaaiapidaja andmemudel
Loomaaiapidaja andmemudel
  • Loomaaiapidaja andmemudel järgib hierarhilist nimeruumi, kus iga sõlme nimetatakse ZNode'iks. Sõlm on süsteem, kus klaster töötab.
  • Igal ZNode'il on andmed. Sellel võib olla lapsi või mitte
  • ZNode teed:
    • Kanooniline, kaldkriipsuga eraldatud ja absoluutne
    • Ärge kasutage suhtelisi viiteid
    • Nimed võivad sisaldada Unicode'i märke
  • ZNode säilitab andmete muudatuste jaoks statistilise struktuuri ja versiooninumbri.

Loomaaiapidaja sõlmede tüübid

Znode on kolme tüüpi:

Püsivus znode: seda tüüpi znode on elus isegi pärast seda, kui klient, kes selle konkreetse znode lõi, on lahti ühendatud. Vaikimisi on zookeeperis kõik sõlmed püsivad, kui see pole määratud.

Lühiajaline znode: seda tüüpi loomaaiapidajad znode on elus kuni klient on elus. Seega, kui klient saab loomaaiapidajaga ühenduse katkemise, kustutatakse see ka. Pealegi ei ole lühiajalistel sõlmedel lubatud lapsi saada.

Järjestikune znode: järjestikused sõlmpunktid võivad olla kas lühiajalised või püsivad. Nii et kui uus sõlm luuakse järjestikuse znodena. Saate määrata znode tee, lisades algsele nimele 10-kohalise järjekorranumbri.

ZDM - kellad

Zookeeper, kellasündmus on ühekordne päästik, mis saadetakse kella seadnud kliendile. See ilmnes siis, kui selle kella andmed muutuvad. ZDM-i käekell võimaldab klientidel saada märguandeid, kui znode muutub. Olemasolevatel ZDM-i lugemistoimingutel, nagu getData(), getChidleren(), on kella seadistamise võimalus.

Kellad on tellitud, kellasündmuste järjekord vastab uuenduste järjekorrale. Klient näeb znode jälgimissündmust enne, kui näeb uusi andmeid, mis vastavad sellele znode'ile.

ZDM - juurdepääsukontrolli loend

Zookeeper kasutab oma znodedele juurdepääsu kontrollimiseks ACL-e. ACL koosneb paarist (skeem: ID, luba)

Sisseehitatud ACL-skeemid:

maailm: kellel on üks ID, igaüks

auth: ei kasuta ühtegi ID-d, see esindab mis tahes autentitud kasutajat

digest: kasutage kasutajanime: parool

host: võimaldab kasutada kliendi hostinime ACL-i ID-identiteedina

IP: kasutage ACL-i ID-identiteedina kliendi hosti IP-aadressi

ACL-i load:

  • LUUA
  • LUGEGE
  • KIRJUTA
  • Kustuta
  • ADMIN

Nt (IP: 192.168.0.0/16, LOE)

ZKS – seansi olekud ja eluiga

ZKS – seansi olekud
ZKS – seansi olekud
  • Enne mis tahes päringu täitmist on oluline, et klient looks teenusega seansi
  • Kõik toimingud, mille kliendid teenusesse saadetakse, seostatakse automaatselt seansiga
  • Klient võib ühenduse luua klastri mis tahes serveriga. Kuid see loob ühenduse ainult ühe serveriga
  • Seanss annab "tellimuse garantiid". Seansi päringud täidetakse FIFO järjekorras
  • Seansi peamised olekud on 1) Ühendab, 2) Ühendatud 3) Suletud 4) Pole ühendatud.

Kuidas installida ZooKeeper

Step 1) Klõpsake nuppu Jätka tellimist
Mine selle juurde link ja klõpsake nuppu "Jätka tellimiseks"

Installige ZooKeeper

Step 2) Nõustuge tingimustega
Järgmisel lehel nõustuge litsentsilepinguga

Installige ZooKeeper

Step 3) Kuvatud tänusõnum
Näete järgmist teadet

Installige ZooKeeper

Step 4) Klõpsake nuppu Jätka konfigureerimist
Värskendage lehte 5 minuti pärast ja jätkake konfigureerimisega

Installige ZooKeeper

Step 5) Klõpsake nuppu "Jätka käivitamiseks"
Järgmisel ekraanil käivitage ZooKeeper

Installige ZooKeeper

Step 6) Õnnitleme!
Sa oled valmis!

Apache ZooKeeperi rakendused

Apache Zookeeperit kasutatakse järgmistel eesmärkidel:

  • Konfiguratsiooni haldamine
  • Nimede andmise teenused
  • Juhi valimine
  • Sõnumite järjekorda seadmine
  • Teavitussüsteemi haldamine
  • Synchroniseerimine
  • Levitatakse Cluster juhtimine

Zookeeperit kasutavad ettevõtted

  • Yahoo
  • Facebook
  • eBay
  • puperdama
  • Netflix
  • Zynga
  • Nutanix

Zookeeperi kasutamise puudused

  • Kui lisate uusi Zookeeperi servereid, võib tekkida andmete kadu
  • Kasutajatele migratsioon pole lubatud
  • Ei paku tuge riiuli paigutuse ja teadlikkuse tõstmiseks
  • Zookeeper ei luba kaunade arvu vähendada, et vältida juhuslikku andmete kadumist
  • Te ei saa teenust hostvõrgule lülitada ilma täieliku uuesti installimiseta, kui teenus on juurutatud virtuaalses võrgus
  • Teenus ei toeta mahunõuete muutmist pärast esialgse juurutamise lõppu
  • Kaasatud on suur arv sõlme, nii et rikkepunkte võib olla rohkem kui üks
  • Sõnumid võivad sidevõrku kaduda, mille taastamiseks on vaja spetsiaalset tarkvara

kokkuvõte

  • Hajutatud rakendus on rakendus, mis võib töötada mitmes võrgus olevas süsteemis
  • Apache Zookeeper on avatud lähtekoodiga hajutatud koordineerimisteenus, mis aitab teil hallata suurt hulka hoste
  • See võimaldab serveriprotsesside vastastikust välistamist ja koostööd
  • Server, klient, juht, jälgija, ansambel/Cluster, ZooKeeper WebUI on olulised loomaaiapidaja komponendid
  • Kolme tüüpi Znode on püsivus, lühiajaline ja järjestikune
  • ZDM kell on ühekordne päästik, mis saadetakse kella seadnud kliendile. See ilmnes siis, kui selle kella andmed muutuvad
  • Zookeeper Hadoop kasutab oma znodedele juurdepääsu kontrollimiseks ACL-e
  • Seadistuse haldamine, teenuste nimetamine, juhi valimine, sõnumite järjekorda seadmine, teavitussüsteemi haldamine, Synchroniseerimine, Levitatud Cluster Juhtimine jne.
  • Yahoo, Facebook, eBay, Twitter, Netflix on mõned tuntud ettevõtted, kes kasutavad zookeeperit
  • Tööriista peamine puudus on see, et uute Zookeeperi serverite lisamisel võib tekkida kadu