Vodič za ZooKeeper: Što je, Archistruktura Apache ZooKeeper
Što je distribuirani sustav?
Distribuirana aplikacija je aplikacija koja može raditi na više sustava u mreži. Pokreće se istovremeno koordinirajući se kako bi izvršili određeni zadatak. Za obavljanje ovih zadataka bilo kojoj nedistribuiranoj aplikaciji može trebati dosta sati.
Što je Zookeeper?
Apache Zookeeper je distribuirana koordinacijska usluga otvorenog koda koja pomaže upravljati velikim skupom hostova. Upravljanje i koordinacija u distribuiranom okruženju je nezgodno. Zookeeper automatizira ovaj proces i omogućuje programerima da se usredotoče na izgradnju softverskih značajki umjesto da brinu o njegovoj distribuiranoj prirodi.
Zookeeper vam pomaže u održavanju informacija o konfiguraciji, imenovanju, grupnim uslugama za distribuirane aplikacije. Implementira različite protokole na klasteru tako da aplikacija ne bi trebala implementirati samu sebe. Omogućuje jedan koherentan prikaz više strojeva.
Zašto Apache Zookeeper?
Evo važnih razloga koji stoje iza popularnosti Zookeepera:
- Omogućuje međusobno isključivanje i suradnju između procesa poslužitelja
- Osigurava dosljedan rad vaše aplikacije.
- Proces transakcije nikada nije djelomično dovršen. Dobiva status uspjeha ili neuspjeha. Distribuirano stanje se može zadržati, ali nikada nije pogrešno
- Bez obzira na poslužitelj na koji se povezuje, klijent će moći vidjeti isti prikaz usluge
- Pomaže vam da kodirate podatke prema određenom skupu pravila
- Pomaže u održavanju standardnog hijerarhijskog imenskog prostora sličnog datotekama i direktorijima
- Računala, koja rade kao jedan sustav koji se može lokalno ili geografski povezati
- Omogućuje pridruživanje/napuštanje čvora u klasteru i status čvora u stvarnom vremenu
- Možete povećati performanse postavljanjem više strojeva
- Omogućuje vam da odaberete čvor kao vođu radi bolje koordinacije
- ZooKeeper radi brzo s radnim opterećenjima gdje su čitanja podataka češća od pisanja
Čuvar zoo vrta Architektura: Kako radi?
Evo kratkog objašnjenja o apaš Zookeeper arhitektura:
- Zookeeper prati klijent-poslužitelj Architektura
- Svi sustavi pohranjuju kopiju podataka
- Voditelji se biraju pri pokretanju
Server: Poslužitelj šalje potvrdu kada se bilo koji klijent poveže. U slučaju da nema odgovora od povezanog poslužitelja, klijent automatski preusmjerava poruku na drugi poslužitelj.
Klijent: Klijent je jedan od čvorova u klasteru distribuiranih aplikacija. Pomaže vam da pristupite informacijama s poslužitelja. Svaki klijent u redovitim intervalima šalje poruku poslužitelju koja pomaže poslužitelju da zna da je klijent živ.
Vođa: Jedan od poslužitelja je određen kao voditelj. Daje sve informacije klijentima kao i potvrdu da je poslužitelj živ. Izvršit će automatski oporavak ako bilo koji od povezanih čvorova ne uspije.
Sljedbenik: Čvor poslužitelja koji slijedi upute voditelja naziva se sljedbenik.
- Zahtjeve za čitanje klijenta obrađuje odgovarajući povezani Zookeeper poslužitelj
- Klijent piše zahtjeve koje obrađuje vođa Zookeepera.
Ansambl/Cluster: Grupa Zookeeper poslužitelja koja se naziva ansambl ili a Cluster. ZooKeeper infrastrukturu možete koristiti u načinu klastera kako biste sustav imali na optimalnoj vrijednosti kada koristite Apache.
WebUI ZooKeeper: Ako želite raditi s ZooKeeper upravljanjem resursima, tada morate koristiti WebUI. Omogućuje rad sa ZooKeeperom korištenjem web korisničkog sučelja, umjesto korištenja naredbenog retka. Nudi brzu i učinkovitu komunikaciju s aplikacijom ZooKeeper.
Zookeeper Data Model (ZDM)
Sada u ovom vodiču za ZooKeeper, naučimo o Zookeeper podatkovnom modelu. Donja slika objašnjava model podataka Apache Zookeeper:
- Model podataka zookeeper slijedi hijerarhijski prostor imena gdje se svaki čvor naziva ZNode. Čvor je sustav u kojem se izvodi klaster.
- Svaki ZNode ima podatke. Može i ne mora imati djecu
- ZNode staze:
- Kanonski, odijeljeni kosom crtom i apsolutni
- Nemojte koristiti nikakve relativne reference
- Imena mogu sadržavati Unicode znakove
- ZNode održava strukturu statistike i broj verzije za promjene podataka.
Vrste Zookeeper čvorova
Postoje tri vrste Znodea:
Upornost znode: Ova vrsta znodea živa je čak i nakon što je klijent koji je stvorio taj određeni znode isključen. Prema zadanim postavkama, u zookeeperu, svi čvorovi su postojani ako to nije navedeno.
prolazan znode: Ova vrsta znodea čuvara zoološkog vrta živa je dok klijent nije živ. Stoga, kada klijent dobije prekid veze sa zookeeperom, to će također biti izbrisano. Štoviše, efemernim čvorovima nije dopušteno imati djecu.
Sekvencijalno znode: Sekvencijalne znode mogu biti efemerne ili postojane. Dakle, kada se kreira novi znode kao sekvencijalni znode. Put znodea možete dodijeliti tako da originalnom nazivu priložite redoslijed od 10 znamenki.
ZDM- Satovi
Zookeeper, događaj promatranja je jednokratni okidač koji se šalje klijentu koji je postavio nadzor. Do toga je došlo kada su se podaci s tog sata promijenili. ZDM sat omogućuje klijentima dobivanje obavijesti kada se znode promijeni. ZDM operacije čitanja kao što su getData(), getChidleren(), postoje i imaju opciju postavljanja sata.
Gledanja su poredana, redoslijed događaja praćenja odgovara redoslijedu ažuriranja. Klijent će moći vidjeti događaj promatranja za znode prije nego što vidi nove podatke koji odgovaraju tom znodeu.
ZDM- Popis kontrole pristupa
Zookeeper koristi ACL-ove za kontrolu pristupa svojim znodesima. ACL se sastoji od para (shema: id, dozvola)
Ugradite ACL sheme:
svijet: ima jedan ID, bilo tko
auth: Ne koristi nikakav ID, predstavlja bilo kojeg autentificiranog korisnika
sažetak: koristite korisničko ime: lozinku
host: Omogućuje vam da koristite klijentovo ime hosta kao ACL ID identitet
IP: koristite IP adresu hosta klijenta kao ACL ID identitet
ACL dozvole:
- STVORITI
- ČITATI
- PISATI
- DELETE
- ADMIN
Primjer (IP: 192.168.0.0/16, PROČITAJ)
ZKS – Stanja sesije i trajanje
- Prije izvršenja bilo kojeg zahtjeva, važno je da klijent mora uspostaviti sesiju s uslugom
- Sve operacije koje klijenti šalju na uslugu automatski su povezane sa sesijom
- Klijent se može spojiti na bilo koji poslužitelj u klasteru. Ali spojit će se samo na jedan poslužitelj
- Sesija pruža "jamstva reda". Zahtjevi u sesiji se izvršavaju prema FIFO redoslijedu
- Glavna stanja za sesiju su 1) Povezivanje, 2) Povezano 3) Zatvoreno 4) Nije povezano.
Kako instalirati ZooKeeper
Korak 1) Kliknite Nastavi za pretplatu
Idi na ovo link i kliknite 'Nastavi na pretplatu'
Korak 2) Prihvatite odredbe i uvjete
Na sljedećoj stranici prihvatite licencni ugovor
Korak 3) Prikazana je poruka zahvale
Vidjet ćete sljedeću poruku
Korak 4) Kliknite Nastavi na konfiguraciju
Osvježite stranicu nakon 5 minuta i prijeđite na konfiguraciju
Korak 5) Kliknite na "Nastavi na pokretanje"
Na sljedećem zaslonu pokrenite ZooKeeper
Korak 6) Čestitamo!
Ti si gotov!
Apache ZooKeeper aplikacije
Apache Zookeeper koristi se u sljedeće svrhe:
- Upravljanje konfiguracijom
- Usluge imenovanja
- Odabir vođe
- Stavljanje poruka u red čekanja
- Upravljanje sustavom obavješćivanja
- Synchroniziranje
- distribuiran Cluster Upravljanje
Tvrtke koje koriste Zookeeper
- prostak
- eBay
- X / Twitter
- Netflix
- Zynga
- Nutanix
Nedostaci korištenja Zookeepera
- Može doći do gubitka podataka ako dodajete nove Zookeeper poslužitelje
- Korisnicima nije dopuštena migracija
- Ne nudi podršku za Rack postavljanje i svijest
- Zookeeper vam ne dopušta smanjenje broja podova kako biste spriječili slučajni gubitak podataka
- Ne možete prebaciti uslugu na umrežavanje domaćina bez pune ponovne instalacije kada je usluga postavljena na virtualnoj mreži
- Usluga ne podržava promjenu zahtjeva za količinom nakon završetka početne implementacije
- Veliki je broj uključenih čvorova pa bi moglo postojati više od jedne točke kvara
- Poruke se mogu izgubiti u komunikacijskoj mreži, što zahtijeva poseban softver za ponovno vraćanje
rezime
- Distribuirana aplikacija je aplikacija koja može raditi na više sustava u mreži
- Apache Zookeeper je distribuirana koordinacijska usluga otvorenog koda koja vam pomaže upravljati velikim skupom hostova
- Omogućuje međusobno isključivanje i suradnju između procesa poslužitelja
- Poslužitelj, klijent, vođa, sljedbenik, ansambl/Cluster, ZooKeeper WebUI važne su komponente zookeepera
- Tri vrste znoda su postojanost, efemerni i sekvencijalni
- ZDM sat je jednokratni okidač koji se šalje klijentu koji je postavio sat. Do toga je došlo kada su se podaci s tog sata promijenili
- Zookeeper Hadoop koristi ACL-ove za kontrolu pristupa svojim znodovima
- Upravljanje konfiguracijom, Imenovanje usluga., Odabir voditelja, Postavljanje poruka u red čekanja, Upravljanje sustavom obavijesti, Synckronizacija, Distribuirano Cluster Upravljanje itd.
- Yahoo, Facebook, eBay, Twitter, Netflix su neke poznate tvrtke koje koriste zookeeper
- Glavni nedostatak alata je da može doći do gubitka ako dodajete nove Zookeeper poslužitelje