ZooKeeper oktatóanyag

Mi az elosztott rendszer?

Az elosztott alkalmazás egy olyan alkalmazás, amely több hálózaton is futhat. Egyidejűleg fut, koordinálva magukat egy bizonyos feladat elvégzéséhez. Ezeknek a feladatoknak a végrehajtása bármely nem terjesztett alkalmazásnál több órát is igénybe vehet.

Mi az a Zookeeper?

Apache Zookeeper egy nyílt forráskódú elosztott koordinációs szolgáltatás, amely nagyszámú gazdagép kezelésében segít. Az elosztott környezetben az irányítás és koordináció bonyolult. A Zookeeper automatizálja ezt a folyamatot, és lehetővé teszi a fejlesztők számára, hogy a szoftverfunkciók kiépítésére összpontosítsanak, ahelyett, hogy azok elosztott természete miatt aggódnának.

A Zookeeper segít az elosztott alkalmazások konfigurációs információinak, elnevezéseinek és csoportszolgáltatásainak karbantartásában. Különböző protokollokat valósít meg a fürtön, így az alkalmazásnak nem szabad önállóan megvalósítania. Egyetlen koherens nézetet biztosít több gépről.

Miért az Apache Zookeeper?

Íme, fontos okok a Zookeeper népszerűsége mögött:

  • Lehetővé teszi a kölcsönös kizárást és együttműködést a szerverfolyamatok között
  • Ez biztosítja, hogy az alkalmazás folyamatosan fut.
  • A tranzakciós folyamat soha nem fejeződik be részben. Vagy Siker vagy Sikertelen állapotot kap. Az elosztott állapotot fel lehet tartani, de ez soha nem baj
  • Függetlenül attól, hogy melyik szerverhez csatlakozik, az ügyfél ugyanazt a nézetet láthatja a szolgáltatásról
  • Segít az adatok kódolásában a meghatározott szabályok szerint
  • Segít fenntartani a fájlokhoz és könyvtárakhoz hasonló szabványos hierarchikus névteret
  • Számítógépek, amelyek egyetlen rendszerként működnek, amely helyileg vagy földrajzilag összekapcsolható
  • Lehetővé teszi a csomópont csatlakozását/kilépését egy fürtben és a csomópont állapotát valós időben
  • Növelheti a teljesítményt több gép telepítésével
  • Lehetővé teszi egy csomópont megválasztását vezetőnek a jobb koordináció érdekében
  • A ZooKeeper gyorsan működik olyan munkaterhelésekkel, ahol az adatok olvasása gyakoribb, mint az írás

Állatgondozó Architecture: Hogyan működik?

Itt van egy rövid magyarázat erről Apache Zookeeper architektúra:

  • A Zookeeper egy kliens-szervert követ Architectúra
  • Minden rendszer tárolja az adatok másolatát
  • A vezetőket az induláskor választják meg
Archia ZooKeeper tectúrája
Archia ZooKeeper tectúrája

Szerver: A szerver nyugtázást küld, ha bármely kliens csatlakozik. Abban az esetben, ha nem érkezik válasz a csatlakoztatott szervertől, a kliens automatikusan átirányítja az üzenetet egy másik szerverre.

Vásárló: Az ügyfél az elosztott alkalmazásfürt egyik csomópontja. Segít hozzáférni a szerverről származó információkhoz. Minden kliens rendszeres időközönként üzenetet küld a szervernek, amely segít a szervernek tudni, hogy a kliens életben van.

Vezető: Az egyik szerver Leader-nek van kijelölve. Minden információt megad a klienseknek, valamint nyugtázza, hogy a szerver életben van. Automatikus helyreállítást hajt végre, ha valamelyik csatlakoztatott csomópont meghibásodik.

Követő: A vezető utasításait követő szervercsomópontot követőnek nevezzük.

  • Az ügyfelek olvasási kérelmeit a megfelelően csatlakoztatott Zookeeper szerver kezeli
  • Az ügyfél írási kérelmeit az Állatkert vezetője kezeli.

Együttes/Cluster: Zookeeper szerverek csoportja, amelyet ensemble-nek vagy a Cluster. A ZooKeeper infrastruktúrát fürt módban használhatja, hogy az Apache futtatásakor a rendszer optimális értéken működjön.

ZooKeeper WebUI: Ha a ZooKeeper erőforráskezeléssel szeretne dolgozni, akkor ezt kell használnia WebUI. Lehetővé teszi a ZooKeeperrel való munkavégzést a webes felhasználói felület használatával, a parancssor használata helyett. Gyors és hatékony kommunikációt kínál a ZooKeeper alkalmazással.

Az állatkerti adatmodell (ZDM)

Most ebben a ZooKeeper oktatóanyagban ismerkedjünk meg a Zookeeper adatmodelljével. Az alábbi ábra az Apache Zookeeper adatmodelljét magyarázza:

Az állatkerti adatmodell
Zookeeper adatmodell
  • A zookeeper adatmodell egy hierarchikus névteret követ, ahol minden csomópontot ZNode-nak neveznek. A csomópont egy olyan rendszer, ahol a fürt fut.
  • Minden ZNode rendelkezik adatokkal. Lehet, hogy gyerekei vannak, vagy nem
  • ZNode útvonalak:
    • Kanonikus, perjel elválasztott és abszolút
    • Ne használjon relatív hivatkozásokat
    • A nevek Unicode karaktereket tartalmazhatnak
  • A ZNode fenntartja a statstruktúrát és a verziószámot az adatváltozásokhoz.

A Zookeeper csomópontok típusai

Háromféle Znode létezik:

Kitartás znode: Ez a típusú znode akkor is életben marad, ha az adott znode-ot létrehozó kliens le van kapcsolva. Alapértelmezés szerint a zookeeper alkalmazásban minden csomópont állandó, ha nincs megadva.

Tiszavirág életű znode: Az ilyen típusú zookeeper znode addig él, amíg a kliens életben nem marad. Ezért, ha az ügyfél megszakad az állatkert gondozójától, akkor az is törlődik. Ezenkívül az efemer csomópontok nem vállalhatnak gyermeket.

Sorozatos znode: A szekvenciális znode-ok lehetnek efemerek vagy állandóak. Tehát amikor egy új znode jön létre szekvenciális znodeként. A znode elérési útját úgy rendelheti hozzá, hogy az eredeti névhez egy 10 jegyű sorszámot csatol.

ZDM- Órák

A Zookeeper, a figyelési esemény egy egyszeri trigger, amelyet az órát beállító ügyfélnek küldenek el. Ez akkor történt, amikor az óra adatai megváltoztak. A ZDM óra lehetővé teszi az ügyfelek számára, hogy értesítéseket kapjanak a znode változásáról. A létező ZDM olvasási műveletek, mint például a getData(), a getChidleren(), beállíthatják az órát.

Az órák rendelése megtörténik, az óraesemények sorrendje megegyezik a frissítések sorrendjével. Az ügyfél láthatja a znode figyelési eseményét, mielőtt az új adatot látná, amely megfelel az adott znode-nak.

ZDM- Access Control lista

A Zookeeper ACL-eket használ a znode-jaihoz való hozzáférés szabályozására. Az ACL egy párból áll (Séma: azonosító, engedély)

Beépített ACL sémák:

világ: egyetlen azonosítója van, bárkinek

auth: Ne használjon azonosítót, bármely hitelesített felhasználót jelöl

digest: használjon felhasználónevet: jelszót

host: Lehetővé teszi az ügyfél gazdagépnevének használatát ACL azonosító identitásként

IP: használja a kliens gazdagép IP-címét ACL azonosító identitásként

ACL engedélyek:

  • TEREMT
  • OLVAS
  • ÍRJ
  • DELETE
  • ADMIN

Pl. (IP: 192.168.0.0/16, OLVASÁS)

A ZKS – Session States and Lifetime

ZKS – Session States
ZKS – Session States
  • Bármilyen kérés végrehajtása előtt fontos, hogy az ügyfélnek létre kell hoznia egy munkamenetet a szolgáltatással
  • A szolgáltatásba küldött összes műveleti kliens automatikusan hozzá van rendelve egy munkamenethez
  • Az ügyfél a fürt bármely kiszolgálójához csatlakozhat. De csak egyetlen szerverhez fog csatlakozni
  • Az ülés „megrendelési garanciákat” nyújt. A munkamenetben lévő kérések FIFO sorrendben kerülnek végrehajtásra
  • A munkamenet fő állapotai a következők: 1) Csatlakozás, 2) Csatlakozva 3) Zárt 4) Nincs kapcsolat.

A ZooKeeper telepítése

Step 1) Kattintson a Tovább az előfizetésre gombra
Menjen erre link és kattintson a "Tovább az előfizetésre" gombra

Telepítse a ZooKeeper programot

Step 2) Fogadja el a feltételeket
A következő oldalon: Fogadja el a Licencszerződést

Telepítse a ZooKeeper programot

Step 3) Megjelenik a köszönő üzenet
A következő üzenetet fogja látni

Telepítse a ZooKeeper programot

Step 4) Kattintson a Continue to Configure gombra
Frissítse az oldalt 5 perc elteltével, és folytassa a konfigurációval

Telepítse a ZooKeeper programot

Step 5) Kattintson a "Tovább az indításhoz" gombra
A következő képernyőn indítsa el a ZooKeeper alkalmazást

Telepítse a ZooKeeper programot

Step 6) Gratulálunk!
Kész vagy!

Apache ZooKeeper alkalmazások

Az Apache Zookeeper a következő célokra használható:

  • A konfiguráció kezelése
  • Elnevezési szolgáltatások
  • A vezető kiválasztása
  • Az üzenetek sorba állítása
  • Értesítési rendszer kezelése
  • Synchronizálás
  • Megosztott Cluster Menedzsment

A Zookeepert használó cégek

  • jehu
  • Facebook
  • eBay
  • Twitter
  • Netflix
  • Zynga
  • Nutanix

A Zookeeper használatának hátrányai

  • Adatvesztés léphet fel, ha új Zookeeper szervereket ad hozzá
  • Nem engedélyezett a migráció a felhasználók számára
  • Nem nyújt támogatást az állvány elhelyezéséhez és a tudatosság növeléséhez
  • A Zookeeper nem teszi lehetővé, hogy csökkentse a hüvelyek számát a véletlen adatvesztés elkerülése érdekében
  • Teljes újratelepítés nélkül nem válthat át szolgáltatást gazdagép hálózatra, ha a szolgáltatást virtuális hálózaton telepítik.
  • A szolgáltatás nem támogatja a kötetkövetelmények módosítását a kezdeti üzembe helyezés után
  • Nagyszámú csomópont érintett, így egynél több hibapont is lehet
  • Az üzenetek elveszhetnek a kommunikációs hálózatban, amihez speciális szoftver szükséges az újbóli helyreállításhoz

Összegzésként

  • Az elosztott alkalmazás egy olyan alkalmazás, amely több hálózaton is futhat
  • Az Apache Zookeeper egy nyílt forráskódú elosztott koordinációs szolgáltatás, amely nagyszámú gazdagép kezelésében segít
  • Lehetővé teszi a kölcsönös kizárást és együttműködést a szerverfolyamatok között
  • Szerver, kliens, vezető, követő, együttes/Cluster, a ZooKeeper WebUI fontos állatkerti komponensek
  • A znodok három típusa a perzisztencia, az átmeneti és a szekvenciális
  • A ZDM óra egy egyszeri trigger, amelyet az órát beállító ügyfélnek küldenek el. Ez akkor fordult elő, amikor az óra adatai megváltoztak
  • A Zookeeper Hadoop ACL-eket használ a znode-jaihoz való hozzáférés szabályozására
  • Konfiguráció kezelése, Szolgáltatások elnevezése, vezető kiválasztása, Üzenetek sorba állítása, Értesítési rendszer kezelése, Synchronizálás, Elosztott Cluster Menedzsment stb.
  • Yahoo, Facebook, eBay, Twitter, Netflix néhány ismert cég használja a zookeepert
  • Az eszköz fő hátránya, hogy veszteség léphet fel, ha új Zookeeper szervereket ad hozzá