Výukový program ZooKeeperu

Co je distribuovaný systém?

Distribuovaná aplikace je aplikace, která může běžet na více systémech v síti. Běží současně tím, že se koordinují k dokončení určitého úkolu. Dokončení těchto úkolů může u jakékoli nedistribuované aplikace trvat spoustu hodin.

Co je Zookeeper?

Apache Zookeeper je open source distribuovaná koordinační služba, která pomáhá spravovat velkou sadu hostitelů. Správa a koordinace v distribuovaném prostředí je složitá. Zookeeper tento proces automatizuje a umožňuje vývojářům soustředit se na vytváření softwarových funkcí spíše než se starat o jeho distribuovanou povahu.

Zookeeper vám pomáhá udržovat informace o konfiguraci, pojmenování, skupinové služby pro distribuované aplikace. Implementuje různé protokoly na clusteru, takže aplikace by se neměla implementovat sama o sobě. Poskytuje jediný souvislý pohled na více strojů.

Proč Apache Zookeeper?

Zde jsou důležité důvody popularity Zookeeper:

  • Umožňuje vzájemné vyloučení a spolupráci mezi serverovými procesy
  • Zajišťuje, že vaše aplikace běží konzistentně.
  • Transakční proces není nikdy dokončen částečně. Buď je dán stavem Úspěch nebo neúspěch. Distribuovaný stav lze zadržet, ale nikdy to není špatně
  • Bez ohledu na server, ke kterému se připojuje, klient bude moci vidět stejný pohled na službu
  • Pomáhá vám kódovat data podle konkrétní sady pravidel
  • Pomáhá udržovat standardní hierarchický jmenný prostor podobný souborům a adresářům
  • Počítače, které běží jako jeden systém, který lze lokálně nebo geograficky propojit
  • Umožňuje připojit/opustit uzel v clusteru a stav uzlu v reálném čase
  • Výkon můžete zvýšit nasazením více strojů
  • Umožňuje vám zvolit uzel jako vedoucího pro lepší koordinaci
  • ZooKeeper pracuje rychle s pracovní zátěží, kde je čtení dat běžnější než zápis

ZooKeeper Architecture: Jak to funguje?

Zde je krátké vysvětlení o Apache Architektura Zookeeper:

  • Zookeeper sleduje klient-server Architecture
  • Všechny systémy ukládají kopii dat
  • Lídři jsou voleni při startu
Architecture ZooKeeper
Architecture ZooKeeper

Server: Server odešle potvrzení, když se jakýkoli klient připojí. V případě, že nepřijde žádná odpověď z připojeného serveru, klient automaticky přesměruje zprávu na jiný server.

Klient: Klient je jedním z uzlů v clusteru distribuovaných aplikací. Pomáhá vám přistupovat k informacím ze serveru. Každý klient posílá na server v pravidelných intervalech zprávu, která pomáhá serveru vědět, že klient žije.

Vůdce: Jeden ze serverů je označen jako Vedoucí. Poskytuje všechny informace klientům a také potvrzení, že server je naživu. Pokud by některý z připojených uzlů selhal, provedl by automatickou obnovu.

Následovník: Serverový uzel, který následuje instrukce vedoucího, se nazývá následovník.

  • Požadavky na čtení klienta jsou zpracovávány odpovídajícím způsobem připojeným serverem Zookeeper
  • Klient píše požadavky vyřizuje vedoucí Zookeeper.

Soubor/Cluster: Skupina serverů Zookeeper, která se nazývá soubor nebo a Cluster. Infrastrukturu ZooKeeper můžete použít v režimu clusteru, abyste měli systém na optimální hodnotě, když spouštíte Apache.

Webové rozhraní ZooKeeper: Pokud chcete pracovat se správou zdrojů ZooKeeper, musíte použít WebUI. Umožňuje práci se ZooKeeperem pomocí webového uživatelského rozhraní namísto použití příkazového řádku. Nabízí rychlou a efektivní komunikaci s aplikací ZooKeeper.

Datový model Zookeeper (ZDM)

Nyní se v tomto tutoriálu ZooKeeper seznámíme s datovým modelem Zookeeper. Níže uvedený obrázek vysvětluje datový model Apache Zookeeper:

Datový model Zookeeper
Datový model Zookeeper
  • Datový model zookeeper sleduje Hierarchální jmenný prostor, kde se každý uzel nazývá ZUzel. Uzel je systém, ve kterém běží cluster.
  • Každý ZNode má data. Může a nemusí mít děti
  • Cesty ZNode:
    • Kanonické, oddělené lomítkem a absolutní
    • Nepoužívejte žádné relativní odkazy
    • Názvy mohou obsahovat znaky Unicode
  • ZNode udržuje strukturu statistik a číslo verze pro změny dat.

Typy uzlů Zookeeper

Existují tři typy Znodů:

Perzistence znode: Tento typ uzlu je aktivní i po odpojení klienta, který vytvořil tento konkrétní uzel. Ve výchozím nastavení jsou v zookeeper všechny uzly trvalé, pokud to není zadáno.

Efemér znode: Tento typ zookeeper znode jsou naživu, dokud klient není naživu. Proto, když se klient odpojí od správce zoo, bude také smazán. Navíc efemérním uzlům není dovoleno mít děti.

Sekvenční znode: Sekvenční uzly mohou být efemérní nebo trvalé. Takže když je vytvořen nový uzel jako sekvenční uzel. Cestu uzlu můžete přiřadit připojením 10místného pořadového čísla k původnímu názvu.

ZDM- Hodinky

Zookeeper, událost sledování je jednorázový spouštěč, který je odeslán klientovi, který nastavil sledování. Došlo k tomu, když se data z těchto hodinek změnila. ZDM hodinky umožňují klientům dostávat upozornění, když se změní znode. Operace čtení ZDM jako getData(), getChidleren(), exist mají možnost nastavení hodinek.

Hodinky jsou seřazeny, pořadí událostí hodinek odpovídá pořadí aktualizací. Klient bude moci vidět událost sledování pro znode, než uvidí nová data, která tomuto uzlu odpovídají.

ZDM- Seznam řízení přístupu

Zookeeper používá ACL k řízení přístupu do svých uzlů. ACL se skládá z dvojice (Schéma: id, oprávnění)

Zabudujte schémata ACL:

world: má jediné ID, kdokoli

auth: Nepoužívejte žádné ID, představuje jakéhokoli ověřeného uživatele

digest: použijte uživatelské jméno: heslo

hostitel: Umožňuje použít název hostitele klienta jako identitu ACL id

IP: použijte IP adresu hostitele klienta jako identitu ACL id

Oprávnění ACL:

  • CREATE
  • ČÍST
  • NAPIŠTE
  • DELETE
  • ADMIN

Příklad (IP: 192.168.0.0/16, PŘEČTĚTE)

ZKS – Stavy relace a životnost

ZKS – Session States
ZKS – Session States
  • Před provedením jakéhokoli požadavku je důležité, aby klient vytvořil relaci se službou
  • Všechny operace, které jsou klienti odesláni do služby, jsou automaticky spojeny s relací
  • Klient se může připojit k libovolnému serveru v clusteru. Připojí se ale pouze k jednomu serveru
  • Sezení poskytuje „záruky objednávky“. Požadavky v relaci jsou prováděny v pořadí FIFO
  • Hlavní stavy relace jsou 1) Připojování, 2) Připojeno 3) Uzavřeno 4) Nepřipojeno.

Jak nainstalovat ZooKeeper

Krok 1) Klikněte na Pokračovat k odběru
Přejděte na to https://trials.autocruitment.com a klikněte na 'Pokračovat k odběru'

Nainstalujte ZooKeeper

Krok 2) Přijměte smluvní podmínky
Na další stránce Přijměte licenční smlouvu

Nainstalujte ZooKeeper

Krok 3) Zobrazena zpráva s poděkováním
Uvidíte následující zprávu

Nainstalujte ZooKeeper

Krok 4) Klikněte na Pokračovat pro konfiguraci
Po 5 minutách stránku obnovte a pokračujte v konfiguraci

Nainstalujte ZooKeeper

Krok 5) Klikněte na 'Pokračovat ke spuštění'
Na další obrazovce spusťte ZooKeeper

Nainstalujte ZooKeeper

Krok 6) Gratulace!
Jsi hotov!

Aplikace Apache ZooKeeper

Apache Zookeeper používaný pro následující účely:

  • Správa konfigurace
  • Pojmenování služeb
  • Výběr vůdce
  • Řazení zpráv do fronty
  • Správa notifikačního systému
  • Synchronizace
  • Distribuováno Cluster management

Společnosti využívající Zookeeper

  • Yahoo
  • facebook
  • eBay
  • X
  • Netflix
  • Zynga
  • Nutanix

Nevýhody použití Zookeeper

  • Pokud přidáváte nové servery Zookeeper, může dojít ke ztrátě dat
  • Uživatelům není povolena migrace
  • Nenabízejí podporu pro umístění do racku a povědomí
  • Zookeeper neumožňuje snížit počet podů, aby se zabránilo náhodné ztrátě dat
  • Když je služba nasazena ve virtuální síti, nemůžete službu přepnout na hostitelskou síť bez úplné přeinstalace
  • Služba nepodporuje změnu požadavků na objem po dokončení počátečního nasazení
  • Je zde zapojeno velké množství uzlů, takže může dojít k více než jednomu bodu selhání
  • Zprávy se mohou ztratit v komunikační síti, což vyžaduje speciální software pro jejich opětovné obnovení

Shrnutí

  • Distribuovaná aplikace je aplikace, která může běžet na více systémech v síti
  • Apache Zookeeper je open source distribuovaná koordinační služba, která vám pomůže spravovat velkou sadu hostitelů
  • Umožňuje vzájemné vyloučení a spolupráci mezi serverovými procesy
  • Server, klient, vůdce, následovník, soubor/Cluster, ZooKeeper WebUI jsou důležité komponenty zookeeperu
  • Tři typy Znodů jsou Persistence, Ephemeral a sekvenční
  • ZDM watch je jednorázový trigger, který je odeslán klientovi, který nastavil hodinky. Došlo k tomu, když se data z těchto hodinek změnila
  • Zookeeper Hadoop používá ACL k řízení přístupu do svých uzlů
  • Správa konfigurace, Pojmenování služeb., Výběr vedoucího, Zařazení zpráv do fronty, Správa systému upozornění, Syncronizace, Distribuované Cluster Management atd.
  • Yahoo, Facebook, eBay, Twitter, Netflix jsou některé známé společnosti využívající zookeeper
  • Hlavní nevýhodou nástroje je, že při přidávání nových serverů Zookeeper může dojít ke ztrátě