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
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:
- 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
- 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
Step 2) Fogadja el a feltételeket
A következő oldalon: Fogadja el a Licencszerződést
Step 3) Megjelenik a köszönő üzenet
A következő üzenetet fogja látni
Step 4) Kattintson a Continue to Configure gombra
Frissítse az oldalt 5 perc elteltével, és folytassa a konfigurációval
Step 5) Kattintson a "Tovább az indításhoz" gombra
A következő képernyőn indítsa el a ZooKeeper alkalmazást
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
- eBay
- 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á