ZooKeeper Tutorial: Hva er, Architecture av Apache ZooKeeper

Hva er et distribuert system?

En distribuert applikasjon er en applikasjon som kan kjøres på flere systemer i et nettverk. Den kjører samtidig ved å koordinere seg selv for å fullføre en bestemt oppgave. Disse oppgavene kan ta mange timer å fullføre av en ikke-distribuert applikasjon.

Hva er Zookeeper?

Apache dyrepasser er en distribuert koordineringstjeneste med åpen kildekode som hjelper deg med å administrere et stort sett med verter. Ledelse og koordinering i et distribuert miljø er vanskelig. Zookeeper automatiserer denne prosessen og lar utviklere fokusere på å bygge programvarefunksjoner i stedet for å bekymre seg for den distribuerte naturen.

Zookeeper hjelper deg med å vedlikeholde konfigurasjonsinformasjon, navn, gruppetjenester for distribuerte applikasjoner. Den implementerer forskjellige protokoller på klyngen slik at applikasjonen ikke skal implementere på egen hånd. Det gir en enkelt sammenhengende visning av flere maskiner.

Hvorfor Apache Zookeeper?

Her er viktige årsaker bak dyrepasserens popularitet:

  • Det gir mulighet for gjensidig ekskludering og samarbeid mellom serverprosesser
  • Det sikrer at applikasjonen din kjører konsekvent.
  • Transaksjonsprosessen fullføres aldri delvis. Den får enten status som suksess eller fiasko. Den distribuerte tilstanden kan holdes oppe, men det er aldri feil
  • Uavhengig av serveren den kobler til, vil en klient kunne se den samme visningen av tjenesten
  • Hjelper deg med å kode dataene i henhold til det spesifikke settet med regler
  • Det hjelper å opprettholde et standard hierarkisk navneområde som ligner på filer og kataloger
  • Datamaskiner, som kjører som et enkelt system som kan kobles lokalt eller geografisk
  • Det gjør det mulig å bli med / forlate node i en klynge og nodestatus i sanntid
  • Du kan øke ytelsen ved å distribuere flere maskiner
  • Det lar deg velge en node som leder for bedre koordinering
  • ZooKeeper jobber raskt med arbeidsbelastninger der lesing til dataene er mer vanlig enn skriving

Dyrepasser Architecture: Hvordan fungerer det?

Her er en kort forklaring om Apache Zookeeper arkitektur:

  • Zookeeper følger en klient-server Architecture
  • Alle systemer lagrer en kopi av dataene
  • Ledere velges ved oppstart
Architecture av ZooKeeper
Architecture av ZooKeeper

Server: Serveren sender en bekreftelse når en klient kobler til. I tilfelle det ikke er noe svar fra den tilkoblede serveren, omdirigerer klienten automatisk meldingen til en annen server.

kunde: Klienten er en av nodene i den distribuerte applikasjonsklyngen. Det hjelper deg å få tilgang til informasjon fra serveren. Hver klient sender en melding til serveren med jevne mellomrom som hjelper serveren å vite at klienten er i live.

Leder: En av serverne er utpekt som en leder. Den gir all informasjon til klientene samt en bekreftelse på at serveren er i live. Den vil utføre automatisk gjenoppretting hvis noen av de tilkoblede nodene mislyktes.

Følger: Servernode som følger lederinstruksjoner kalles en følger.

  • Klientleseforespørsler håndteres av den tilsvarende tilkoblede Zookeeper-serveren
  • Klienten skriver at forespørsler håndteres av dyrepasserens leder.

Ensemble/Cluster: Gruppe av Zookeeper-servere som kalles ensemble eller en Cluster. Du kan bruke ZooKeeper-infrastruktur i klyngemodus for å få systemet til optimal verdi når du kjører Apache.

ZooKeeper WebUI: Hvis du vil jobbe med ZooKeeper ressursadministrasjon, må du bruke WebUI. Det lar deg jobbe med ZooKeeper ved å bruke nettbrukergrensesnittet, i stedet for å bruke kommandolinjen. Den tilbyr rask og effektiv kommunikasjon med ZooKeeper-applikasjonen.

Zookeeper Data Model (ZDM)

Nå i denne ZooKeeper-opplæringen, la oss lære om Zookeeper Data Model. Figuren nedenfor forklarer Apache Zookeeper Data Model:

Datamodellen for dyrepasseren
Zookeeper datamodell
  • Zookeeper-datamodellen følger et hierarkisk navneområde hvor hver node kalles en ZNode. En node er et system der klyngen kjører.
  • Hver ZNode har data. Det kan ha barn eller ikke
  • ZNode-baner:
    • Kanonisk, skråstrekseparert og absolutt
    • Ikke bruk noen relative referanser
    • Navn kan ha Unicode-tegn
  • ZNode opprettholder statstruktur og versjonsnummer for dataendringer.

Typer dyrepassernoder

Det er tre typer Znoder:

Utholdenhet znode: Denne typen znode er i live selv etter at klienten som opprettet den spesifikke znoden, er koblet fra. Som standard, i zookeeper, er alle noder vedvarende hvis det ikke er spesifisert.

flyktig znode: Denne typen dyrepasserznode er i live til klienten er i live. Derfor, når klienten får en frakobling fra dyrepasseren, vil den også bli slettet. Videre er flyktige noder ikke tillatt å få barn.

Sekvensiell znode: Sekvensielle znoder kan enten være flyktige eller vedvarende. Så når en ny znode opprettes som en sekvensiell znode. Du kan tilordne banen til znoden ved å knytte et 10-sifret sekvensnummer til det opprinnelige navnet.

ZDM- Klokker

Zookeeper, en vakthendelse er en engangsutløser som sendes til klienten som satte vakt. Det skjedde når data fra den klokken endres. ZDM-klokke lar klienter få varsler når znode endres. ZDM leseoperasjoner som getData(), getChidleren(), finnes har muligheten til å stille inn en klokke.

Klokker er bestilt, rekkefølgen på vakthendelser tilsvarer rekkefølgen på oppdateringene. En klient vil kunne se en overvåkingshendelse for znode før han ser de nye dataene som tilsvarer den znoden.

ZDM- Tilgangskontrollliste

Zookeeper bruker ACLer for å kontrollere tilgangen til sine znoder. ACL består av et par (skjema: id, tillatelse)

Innebygde ACL-ordninger:

verden: har en enkelt id, hvem som helst

auth: Ikke bruk noen id, den representerer enhver autentisert bruker

digest: bruk et brukernavn: passord

vert: Lar deg bruke klientens vertsnavn som ACL-ID-identitet

IP: bruk klientvertens IP-adresse som ACL-ID-identitet

ACL-tillatelser:

  • SKAPE
  • LESE
  • SKRIV
  • SLETT
  • ADMIN

Eks (IP: 192.168.0.0/16, LES)

ZKS – Session States and Lifetime

ZKS – Session States
ZKS – Session States
  • Før en forespørsel utføres, er det viktig at klienten må etablere en sesjon med tjenesten
  • Alle operasjonsklienter som sendes til tjenesten, blir automatisk knyttet til en økt
  • Klienten kan koble til en hvilken som helst server i klyngen. Men den vil bare koble til en enkelt server
  • Sesjonen gir "ordregarantier". Forespørslene i økten utføres i FIFO-rekkefølge
  • Hovedtilstandene for en økt er 1) Kobler til, 2) Tilkoblet 3) Lukket 4) Ikke tilkoblet.

Hvordan installere ZooKeeper

Trinn 1) Klikk på Fortsett for å abonnere
Gå til dette link og klikk "Fortsett å abonnere"

Installer ZooKeeper

Trinn 2) Godta vilkår og betingelser
På neste side, Godta lisensavtalen

Installer ZooKeeper

Trinn 3) Takkmelding vist
Du vil se følgende melding

Installer ZooKeeper

Trinn 4) Klikk på Fortsett for å konfigurere
Oppdater siden etter 5 minutter og fortsett for konfigurasjon

Installer ZooKeeper

Trinn 5) Klikk på "Fortsett til lansering"
I neste skjermbilde, Start ZooKeeper

Installer ZooKeeper

Trinn 6) Gratulerer!
Du er ferdig!

Apache ZooKeeper-applikasjoner

Apache Zookeeper brukt til følgende formål:

  • Administrere konfigurasjonen
  • Navnetjenester
  • Å velge leder
  • Stiller meldingene i kø
  • Administrere varslingssystemet
  • Synkronisering
  • distribuert Cluster Administrasjon

Bedrifter som bruker Zookeeper

  • Yahoo
  • Facebook
  • eBay
  • Twitter
  • Netflix
  • Zynga
  • Nutanix

Ulemper ved å bruke Zookeeper

  • Datatap kan oppstå hvis du legger til nye Zookeeper-servere
  • Ingen migrering tillatt for brukere
  • Tilbyr ikke støtte for rackplassering og bevissthet
  • Zookeeper tillater ikke at du reduserer antall pods for å forhindre utilsiktet tap av data
  • Du kan ikke bytte tjeneste til vertsnettverk uten en fullstendig re-installasjon når tjenesten er distribuert på et virtuelt nettverk
  • Tjenesten støtter ikke endring av volumkrav når den første distribusjonen er over
  • Det er et stort antall noder involvert, så det kan være mer enn ett feilpunkt
  • Meldinger kan gå tapt i kommunikasjonsnettverket, som krever spesiell programvare for å gjenopprette det igjen

Oppsummering

  • En distribuert applikasjon er en applikasjon som kan kjøres på flere systemer i et nettverk
  • Apache Zookeeper er en distribuert koordineringstjeneste med åpen kildekode som hjelper deg med å administrere et stort sett med verter
  • Det gir mulighet for gjensidig ekskludering og samarbeid mellom serverprosesser
  • Server, klient, leder, følger, ensemble/Cluster, ZooKeeper WebUI er viktige dyrepasserkomponenter
  • Tre typer Znodes er Persistens, Ephemeral og sekvensielle
  • ZDM-klokke er en engangsutløser som sendes til klienten som har satt klokken. Det skjedde når data fra den klokken endres
  • Zookeeper Hadoop bruker ACLer for å kontrollere tilgangen til sine znoder
  • Administrere konfigurasjonen, navngi tjenester., velge leder, sette meldingene i kø, administrere varslingssystemet, Synchronisering, Distribuert Cluster Ledelse osv.
  • Yahoo, Facebook, eBay, Twitter, Netflix er noen kjente selskaper som bruker zookeeper
  • Den største ulempen med verktøyet er at tap kan oppstå hvis du legger til nye Zookeeper-servere