Apache ZooKeeper oktatóanyag

⚡ Okos összefoglaló

Az Apache ZooKeeper bemutatója bemutatja a központosított szolgáltatást az elosztott rendszerek konfigurációjához, elnevezéséhez, szinkronizálásához és csoportszolgáltatásaihoz. LessAz onok lefedik az architektúrát, az adatmodellt, az órákat, az együtteseket, az alkalmazásokat, az előnyöket és a hátrányokat.

  • 🏛️ Koordinációs szolgáltatás: A ZooKeeper megbízható gerincként működik az elosztott alkalmazások koordinációjában és konszenzusában.
  • 🗂️ ZNode fa: Az adatokat egy ZNode-okból álló hierarchikus névtérben tároljuk, amely egy fájlrendszerre hasonlít.
  • 👀 órák: Az ügyfelek feliratkoznak a ZNode eseményekre, és visszahívásokat kapnak, amikor az adatok megváltoznak, vagy gyermekek jelennek meg.
  • 🧩 Együttes határozatképessége: A páratlan számú szerverek együttese hibatűrést és többségalapú írást biztosít.
  • Használási esetek: Hatáskörök vezetőválasztás, elosztott zárak, szolgáltatásfelderítés és konfigurációkezelés.
  • 🤖 AI Cluster Segítség: A mesterséges intelligencia által fejlesztett asszisztensek elmagyarázzák a ZooKeeper hibamódjait, és Kubernetes-barát együttes beállításokat generálnak.

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

GYIK

A ZooKeeper koordinálja az elosztott alkalmazásokat azáltal, hogy konzisztens konfigurációt, elnevezést, szinkronizálást és vezetőválasztási szolgáltatásokat biztosít. Leveszi a terhet, hogy ezeket a primitíveket minden rendszerben a nulláról kelljen felépíteni.

A mesterséges intelligencia által fejlesztett eszközök ZooKeeper konfigurációt generálnak, javaslatokat tesznek az együttes méretezésére, valamint elemzik a ruok és mntr metrikákat. Jelzik az agyfelosztási kockázatokat, és állapot-ellenőrző szkripteket javasolnak az éles klaszterekhez.

Igen. A mesterséges intelligencia asszisztensek elemzik a zookeeper.out naplókat, felismerik a kvórumvesztési mintákat, és javaslatot tesznek a munkamenet időtúllépésének finomhangolására. Emellett runbookokat is készítenek a gördülő újraindításokhoz és a pillanatkép-helyreállításhoz.

Az együttes ZooKeeper szerverek együttesen futó csoportja. Az írási műveletekhez többségi kvórum szükséges, ezért a legtöbb éles környezetben páratlan számú szervert használ, például három, öt vagy hét.

A ZNode egy csomópont a ZooKeeper névtérben, amely kis mennyiségű adatot és metaadatot tárol. A ZNode-ok lehetnek perzisztensek, rövid ideig működőképesek vagy szekvenciálisak, lehetővé téve a zárolásokat és a vezetőválasztási mintákat.

A Kafka 4.0 és a KRaft mód eltávolítja a ZooKeepert, és egy belső, Raft-alapú vezérlőkvórummal helyettesíti azt. Az új telepítések a KRaftot használják, míg a régebbi klaszterek továbbra is biztonságosan használhatják a ZooKeepert.

A ZooKeeper támogatja a SASL hitelesítést, a Kerberost, a TLS átvitelt és az ACL-alapú engedélyezést. Engedélyezze ezeket a funkciókat, és szegmentálja az együtteseket bérlőnként az elszigeteltség fenntartásához a megosztott környezetekben.

A kezdők egy hét alatt elsajátítják az adatmodellt és a parancssori interfészt. OperaEgy produkciós együttes pillanatképekkel, monitorozással és Kerberos-szal való ellátása jellemzően egy-három hónapos gyakorlati tapasztalatot igényel.

Foglald össze ezt a bejegyzést a következőképpen: