ZooKeeper-vejledning
Hvad er et distribueret system?
En distribueret applikation er en applikation, der kan kรธre pรฅ flere systemer i et netvรฆrk. Det kรธrer samtidigt ved at koordinere sig selv for at udfรธre en bestemt opgave. Disse opgaver kan tage masser af timer at udfรธre af enhver ikke-distribueret applikation.
Hvad er Zookeeper?
Apache Zookeeper er en open source distribueret koordinationstjeneste, der hjรฆlper med at administrere et stort sรฆt vรฆrter. Ledelse og koordinering i et distribueret miljรธ er vanskeligt. Zookeeper automatiserer denne proces og giver udviklere mulighed for at fokusere pรฅ at bygge softwarefunktioner i stedet for at bekymre sig om dens distribuerede natur.
Zookeeper hjรฆlper dig med at vedligeholde konfigurationsoplysninger, navngivning, gruppetjenester til distribuerede applikationer. Den implementerer forskellige protokoller pรฅ klyngen, sรฅ applikationen ikke bรธr implementere pรฅ egen hรฅnd. Det giver et enkelt sammenhรฆngende billede af flere maskiner.
Hvorfor Apache Zookeeper?
Her er vigtige รฅrsager til dyrepasserens popularitet:
- Det giver mulighed for gensidig udelukkelse og samarbejde mellem serverprocesser
- Det sikrer, at din applikation kรธrer konsekvent.
- Transaktionsprocessen afsluttes aldrig delvist. Det fรฅr enten status som succes eller fiasko. Den distribuerede tilstand kan holdes op, men det er aldrig forkert
- Uanset hvilken server den opretter forbindelse til, vil en klient kunne se den samme visning af tjenesten
- Hjรฆlper dig med at kode dataene i henhold til det specifikke sรฆt regler
- Det hjรฆlper med at opretholde et standard hierarkisk navneomrรฅde svarende til filer og mapper
- Computere, der kรธrer som et enkelt system, der kan vรฆre lokalt eller geografisk forbundet
- Det giver mulighed for at slutte sig til/forlade node i en klynge og nodestatus i realtid
- Du kan รธge ydeevnen ved at implementere flere maskiner
- Det giver dig mulighed for at vรฆlge en node som leder for bedre koordinering
- ZooKeeper arbejder hurtigt med arbejdsbelastninger, hvor lรฆsninger til dataene er mere almindelige end skrivninger
Dyrepasser Architecture: Hvordan virker det?
Her er en kort forklaring vedr Apache Zookeeper arkitektur:
- Zookeeper fรธlger en klient-server Architecture
- Alle systemer gemmer en kopi af dataene
- Ledere vรฆlges ved opstart

Server: Serveren sender en bekrรฆftelse, nรฅr en klient opretter forbindelse. I det tilfรฆlde, hvor der ikke er noget svar fra den tilsluttede server, omdirigerer klienten automatisk beskeden til en anden server.
Klient: Klient er en af โโnoderne i den distribuerede applikationsklynge. Det hjรฆlper dig med at fรฅ adgang til information fra serveren. Hver klient sender en besked til serveren med jรฆvne mellemrum, der hjรฆlper serveren med at vide, at klienten er i live.
Leder: En af serverne er udpeget som en leder. Det giver alle informationer til klienterne samt en bekrรฆftelse af, at serveren er i live. Det ville udfรธre automatisk gendannelse, hvis nogen af โโde tilsluttede noder fejlede.
Fรธlger: Servernode, der fรธlger lederinstruktioner, kaldes en fรธlger.
- Klientlรฆseanmodninger hรฅndteres af den tilsvarende tilsluttede Zookeeper-server
- Klienten skriver anmodninger hรฅndteres af dyrepasserens leder.
Ensemble/Cluster: Gruppe af Zookeeper-servere, som kaldes ensemble eller en Cluster. Du kan bruge ZooKeeper-infrastrukturen i klyngetilstanden for at fรฅ systemet til den optimale vรฆrdi, nรฅr du kรธrer Apache.
ZooKeeper WebUI: Hvis du vil arbejde med ZooKeeper ressourcestyring, sรฅ skal du bruge WebUI. Det gรธr det muligt at arbejde med ZooKeeper ved hjรฆlp af webbrugergrรฆnsefladen i stedet for at bruge kommandolinjen. Det giver hurtig og effektiv kommunikation med ZooKeeper-applikationen.
Zookeeper Data Model (ZDM)
Lad os nu i denne ZooKeeper-tutorial lรฆre om Zookeeper Data Model. Nedenstรฅende figur forklarer Apache Zookeeper Data Model:

- Zookeeper-datamodellen fรธlger et hierarkisk navneomrรฅde, hvor hver node kaldes en ZNode. En node er et system, hvor klyngen kรธrer.
- Hver ZNode har data. Det kan have bรธrn eller ikke
- ZNode stier:
- Kanonisk, skrรฅstreg-separeret og absolut
- Brug ikke nogen relative referencer
- Navne kan have Unicode-tegn
- ZNode vedligeholder statstruktur og versionsnummer for dataรฆndringer.
Typer af Zookeeper noder
Der er tre typer Znodes:
Vedholdenhed znode: Denne type znode er i live, selv efter at den klient, der oprettede den specifikke znode, er afbrudt. Som standard i zookeeper er alle noder persistente, hvis det ikke er angivet.
kortvarig znode: Denne type zookeeper znode er i live, indtil klienten er i live. Derfor, nรฅr klienten fรฅr en afbrydelse fra dyrepasseren, vil den ogsรฅ blive slettet. Desuden mรฅ flygtige noder ikke fรฅ bรธrn.
Sekventiel znode: Sekventielle znoder kan enten vรฆre flygtige eller vedvarende. Sรฅ nรฅr en ny znode oprettes som en sekventiel znode. Du kan tildele stien til znoden ved at knytte et 10-cifret sekvensnummer til det originale navn.
ZDM- Ure
Zookeeper, en vagthรฆndelse er en engangsudlรธser, som sendes til den klient, der har sat vagt. Det skete, nรฅr data fra det ur รฆndres. ZDM-ur giver klienter mulighed for at fรฅ meddelelser, nรฅr znode รฆndres. ZDM lรฆseoperationer som getData(), getChidleren(), findes har mulighed for at indstille et ur.
Ure er bestilt, rรฆkkefรธlgen af โโurbegivenheder svarer til rรฆkkefรธlgen af โโopdateringerne. En klient vil vรฆre i stand til at se en overvรฅgningshรฆndelse for znode, fรธr han ser de nye data, der svarer til den pรฅgรฆldende znode.
ZDM- Adgangskontrolliste
Zookeeper bruger ACL'er til at kontrollere adgangen til sine znoder. ACL bestรฅr af et par (skema: id, tilladelse)
Indbyggede ACL-ordninger:
verden: har et enkelt id, hvem som helst
auth: Brug ikke noget id, det reprรฆsenterer enhver godkendt bruger
digest: brug et brugernavn: adgangskode
vรฆrt: Giver dig mulighed for at bruge klientens vรฆrtsnavn som ACL-id-identitet
IP: brug klientens vรฆrts-IP-adresse som ACL-id-identitet
ACL-tilladelser:
- SKAB
- LรSE
- SKRIV
- SLET
- ADMIN
Eks (IP: 192.168.0.0/16, LรS)
ZKS โ Sessionstilstande og levetid

- Fรธr en anmodning udfรธres, er det vigtigt, at klienten skal etablere en session med service
- Alle operationsklienter, der sendes til service, knyttes automatisk til en session
- Klienten kan oprette forbindelse til enhver server i klyngen. Men det vil kun oprette forbindelse til en enkelt server
- Sessionen giver "ordregarantier". Anmodningerne i sessionen udfรธres i FIFO-rรฆkkefรธlge
- Hovedtilstandene for en session er 1) Opretter forbindelse, 2) Forbinder 3) Lukket 4) Ikke tilsluttet.
Sรฅdan installeres ZooKeeper
Trin 1) Klik pรฅ Fortsรฆt for at abonnere
Gรฅ til dette link og klik pรฅ 'Fortsรฆt med at abonnere'
Trin 2) Accepter vilkรฅr og betingelser
Accepter licensaftalen pรฅ nรฆste side
Trin 3) Tak besked vist
Du vil se fรธlgende besked
Trin 4) Klik pรฅ Fortsรฆt for at konfigurere
Opdater siden efter 5 minutter, og fortsรฆt til konfiguration
Trin 5) Klik pรฅ 'Fortsรฆt til lancering'
Start ZooKeeper pรฅ nรฆste skรฆrmbillede
Trin 6) Tillykke!
Du er fรฆrdig!
Apache ZooKeeper-applikationer
Apache Zookeeper brugt til fรธlgende formรฅl:
- Hรฅndtering af konfigurationen
- Navngivningstjenester
- Valg af leder
- Sรฆtter beskederne i kรธ
- Hรฅndtering af notifikationssystemet
- Synchronisering
- Distribueret Cluster Management
Virksomheder, der bruger Zookeeper
- Yahoo
- eBay
- Netflix
- Zynga
- Nutanix
Ulemper ved at bruge Zookeeper
- Datatab kan forekomme, hvis du tilfรธjer nye Zookeeper-servere
- Ingen migrering tilladt for brugere
- Tilbyder ikke support til rackplacering og -bevidsthed
- Zookeeper tillader dig ikke at reducere antallet af pods for at forhindre utilsigtet tab af data
- Du kan ikke skifte tjeneste til vรฆrtsnetvรฆrk uden en fuld geninstallation, nรฅr tjenesten er implementeret pรฅ et virtuelt netvรฆrk
- Tjenesten understรธtter ikke รฆndrede volumenkrav, nรฅr den fรธrste implementering er overstรฅet
- Der er et stort antal knudepunkter involveret, sรฅ der kan vรฆre mere end รฉt fejlpunkt
- Meddelelser kan gรฅ tabt i kommunikationsnetvรฆrket, hvilket krรฆver speciel software for at gendanne det igen
Resumรฉ
- En distribueret applikation er en applikation, der kan kรธre pรฅ flere systemer i et netvรฆrk
- Apache Zookeeper er en open source distribueret koordinationstjeneste, der hjรฆlper dig med at administrere et stort sรฆt vรฆrter
- Det giver mulighed for gensidig udelukkelse og samarbejde mellem serverprocesser
- Server, klient, leder, fรธlger, ensemble/Cluster, ZooKeeper WebUI er vigtige dyrepasserkomponenter
- Tre typer Znoder er Persistens, Ephemeral og sekventiel
- ZDM-ur er en engangsudlรธser, som sendes til den klient, der har indstillet uret. Det skete, nรฅr data fra det ur รฆndres
- Zookeeper Hadoop bruger ACL'er til at kontrollere adgangen til sine znoder
- Hรฅndtering af konfigurationen, Navngivningstjenester., Valg af leder, Sรฆt beskederne i kรธ, Hรฅndtering af notifikationssystemet, Synchronisering, Uddelt Cluster Ledelse mv.
- Yahoo, Facebook, eBay, Twitter, Netflix er nogle kendte virksomheder, der bruger zookeeper
- Den stรธrste ulempe ved vรฆrktรธjet er, at tab kan forekomme, hvis du tilfรธjer nye Zookeeper-servere





