ZooKeeper-handledning

Vad är ett distribuerat system?

En distribuerad applikation är en applikation som kan köras på flera system i ett nätverk. Det körs samtidigt genom att koordinera sig själva för att slutföra en viss uppgift. Dessa uppgifter kan ta många timmar att slutföra av alla icke-distribuerade applikationer.

Vad är Zookeeper?

Apache djurskötare är en distribuerad koordineringstjänst med öppen källkod som hjälper till att hantera en stor uppsättning värdar. Ledning och samordning i en distribuerad miljö är knepigt. Zookeeper automatiserar denna process och låter utvecklare fokusera på att bygga mjukvarufunktioner snarare än att oroa sig för dess distribuerade natur.

Zookeeper hjälper dig att underhålla konfigurationsinformation, namngivning, grupptjänster för distribuerade applikationer. Den implementerar olika protokoll på klustret så att applikationen inte ska implementeras på egen hand. Det ger en enda sammanhängande bild av flera maskiner.

Varför Apache Zookeeper?

Här är viktiga skäl bakom djurskötarens popularitet:

  • Det möjliggör ömsesidig uteslutning och samarbete mellan serverprocesser
  • Det säkerställer att din applikation körs konsekvent.
  • Transaktionsprocessen slutförs aldrig delvis. Den får antingen statusen Framgång eller misslyckande. Det distribuerade tillståndet kan hållas uppe, men det är aldrig fel
  • Oavsett vilken server den ansluter till, kommer en klient att kunna se samma vy av tjänsten
  • Hjälper dig att koda data enligt den specifika uppsättningen av regler
  • Det hjälper till att upprätthålla ett standard hierarkiskt namnutrymme som liknar filer och kataloger
  • Datorer, som körs som ett enda system som kan kopplas lokalt eller geografiskt
  • Det tillåter att gå med/lämna nod i ett kluster och nodstatus i realtid
  • Du kan öka prestandan genom att distribuera fler maskiner
  • Det låter dig välja en nod som ledare för bättre koordination
  • ZooKeeper arbetar snabbt med arbetsbelastningar där läsningar till data är vanligare än skrivningar

ZooKeeper Architecture: Hur fungerar det?

Här är en kort förklaring om Apache Zookeeper arkitektur:

  • Zookeeper följer en klient-server Architecture
  • Alla system lagrar en kopia av data
  • Ledare väljs vid start
Architecture av ZooKeeper
Architecture av ZooKeeper

Server: Servern skickar en bekräftelse när någon klient ansluter. Om det inte finns något svar från den anslutna servern, omdirigerar klienten automatiskt meddelandet till en annan server.

Klient: Klienten är en av noderna i det distribuerade applikationsklustret. Det hjälper dig att komma åt information från servern. Varje klient skickar ett meddelande till servern med jämna mellanrum som hjälper servern att veta att klienten är vid liv.

Ledare: En av servrarna är utsedd till Leader. Den ger all information till klienterna samt en bekräftelse på att servern är vid liv. Den skulle utföra automatisk återställning om någon av de anslutna noderna misslyckades.

Efterföljare: Servernod som följer ledarinstruktioner kallas en följare.

  • Klientläsförfrågningar hanteras av den motsvarande anslutna Zookeeper-servern
  • Klienten skriver att förfrågningar hanteras av djurskötarens ledare.

Ensemble/Cluster: Grupp av Zookeeper-servrar som kallas ensemble eller en Cluster. Du kan använda ZooKeeper-infrastrukturen i klusterläget för att få systemet till det optimala värdet när du kör Apache.

ZooKeeper WebUI: Om du vill arbeta med ZooKeeper resurshantering måste du använda WebUI. Det gör det möjligt att arbeta med ZooKeeper med hjälp av webbanvändargränssnittet, istället för att använda kommandoraden. Den erbjuder snabb och effektiv kommunikation med ZooKeeper-applikationen.

Zookeeper Data Model (ZDM)

Nu i denna ZooKeeper-handledning, låt oss lära oss om Zookeeper Data Model. Bilden nedan förklarar Apache Zookeeper Data Model:

Djurskötarens datamodell
Zookeeper Data Model
  • Djurskötarens datamodell följer en hierarkisk namnrymd där varje nod kallas en ZNode. En nod är ett system där klustret körs.
  • Varje ZNode har data. Det kan ha barn eller inte
  • ZNode sökvägar:
    • Kanonisk, snedstreckseparerad och absolut
    • Använd inte några relativa referenser
    • Namn kan ha Unicode-tecken
  • ZNode upprätthåller statstruktur och versionsnummer för dataändringar.

Typer av Zookeeper Noder

Det finns tre typer av Znoder:

Persistens znode: Den här typen av znode är levande även efter att klienten som skapade den specifika znoden har kopplats bort. Som standard, i zookeeper, är alla noder beständiga om det inte anges.

Kortlivad znode: Denna typ av zookeeper znode är vid liv tills klienten är vid liv. Därför, när klienten får en frånkoppling från djurskötaren, kommer den också att raderas. Dessutom är tillfälliga noder inte tillåtna att få barn.

Sekventiell znode: Sekventiella znoder kan vara antingen tillfälliga eller beständiga. Så när en ny znod skapas som en sekventiell znod. Du kan tilldela sökvägen till znoden genom att bifoga ett 10-siffrigt sekvensnummer till det ursprungliga namnet.

ZDM- Klockor

Zookeeper, en bevakningshändelse är en engångsutlösare som skickas till klienten som ställt in vakt. Det inträffade när data från den klockan ändras. ZDM-klocka låter klienter få meddelanden när znode ändras. ZDM-läsoperationer som getData(), getChidleren(), finns har möjlighet att ställa in en klocka.

Klockor är beställda, ordningen på bevakningshändelser motsvarar ordningen på uppdateringarna. En klient kommer att kunna se en bevakningshändelse för znode innan den ser den nya data som motsvarar den znoden.

ZDM- Access Control lista

Zookeeper använder ACL:er för att kontrollera åtkomsten till sina znoder. ACL består av ett par (schema: id, behörighet)

Inbyggda ACL-scheman:

värld: har ett enda id, vem som helst

auth: Använd inte något id, det representerar alla autentiserade användare

digest: använd ett användarnamn: lösenord

värd: Låter dig använda klientens värdnamn som ACL-id-identitet

IP: använd klientvärdens IP-adress som ACL-id-identitet

ACL-behörigheter:

  • SKAPA
  • LÄSA
  • SKRIVA
  • RADERA
  • ADMINISTRATION

Ex (IP: 192.168.0.0/16, LÄS)

ZKS – Session tillstånd och livstid

ZKS – Sessionsstater
ZKS – Sessionsstater
  • Innan en begäran utförs är det viktigt att kunden måste upprätta en session med tjänsten
  • Alla operationsklienter som skickas till tjänst kopplas automatiskt till en session
  • Klienten kan ansluta till vilken server som helst i klustret. Men den kommer bara att ansluta till en enda server
  • Sessionen ger "ordergarantier". Förfrågningarna i sessionen utförs i FIFO-ordning
  • Huvudtillstånden för en session är 1) Ansluter, 2) Ansluten 3) Stängd 4) Ej ansluten.

Hur man installerar ZooKeeper

Steg 1) Klicka på Fortsätt för att prenumerera
Gå till det här länk och klicka på "Fortsätt att prenumerera"

Installera ZooKeeper

Steg 2) Acceptera villkoren
På nästa sida, Acceptera licensavtalet

Installera ZooKeeper

Steg 3) Tackmeddelande visas
Du kommer att se följande meddelande

Installera ZooKeeper

Steg 4) Klicka på Fortsätt för att konfigurera
Uppdatera sidan efter 5 minuter och fortsätt för konfiguration

Installera ZooKeeper

Steg 5) Klicka på "Fortsätt till start"
På nästa skärm, Starta ZooKeeper

Installera ZooKeeper

Steg 6) grattis!
Du är färdig!

Apache ZooKeeper-applikationer

Apache Zookeeper används för följande ändamål:

  • Hantera konfigurationen
  • Namngivningstjänster
  • Att välja ledare
  • Ställer meddelandena i kö
  • Hantera aviseringssystemet
  • Synchronisering
  • Distribuerad Cluster Verksamhetsledningen

Företag som använder Zookeeper

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

Nackdelar med att använda Zookeeper

  • Dataförlust kan inträffa om du lägger till nya Zookeeper-servrar
  • Ingen migrering tillåten för användare
  • Erbjuder inte stöd för rackplacering och medvetenhet
  • Zookeeper tillåter inte att du minskar antalet pods för att förhindra oavsiktlig dataförlust
  • Du kan inte byta tjänst till värdnätverk utan en fullständig ominstallation när tjänsten distribueras på ett virtuellt nätverk
  • Tjänsten stöder inte ändrade volymkrav när den första implementeringen är över
  • Det finns ett stort antal noder inblandade så det kan finnas mer än en punkt där felet uppstår
  • Meddelanden kan gå förlorade i kommunikationsnätverket, vilket kräver speciell programvara för att återställa det igen

Sammanfattning

  • En distribuerad applikation är en applikation som kan köras på flera system i ett nätverk
  • Apache Zookeeper är en distribuerad koordineringstjänst med öppen källkod som hjälper dig att hantera en stor uppsättning värdar
  • Det möjliggör ömsesidig uteslutning och samarbete mellan serverprocesser
  • Server, klient, ledare, följare, ensemble/Cluster, ZooKeeper WebUI är viktiga komponenter för djurskötare
  • Tre typer av Znoder är Persistens, Ephemeral och sekventiell
  • ZDM-klocka är en engångstrigger som skickas till klienten som ställt klockan. Det inträffade när data från den klockan ändras
  • Zookeeper Hadoop använder ACL:er för att kontrollera åtkomsten till sina znoder
  • Hantera konfigurationen, Namngivningstjänster., välja ledare, ställa meddelanden i kö, Hantera aviseringssystemet, Synchronisering, Utdelad Cluster Ledning osv.
  • Yahoo, Facebook, eBay, Twitter, Netflix är några kända företag som använder zookeeper
  • Den största nackdelen med verktyget är att förlust kan inträffa om du lägger till nya Zookeeper-servrar

Sammanfatta detta inlägg med: