Samouczek ZooKeeper
Co to jest system rozproszony?
Aplikacja rozproszona to aplikacja, ktรณra moลผe dziaลaฤ na wielu systemach w sieci. Dziaลa jednoczeลnie, koordynujฤ c siฤ, aby wykonaฤ okreลlone zadanie. Zadania te mogฤ zajฤ ฤ wiele godzin, aby wykonaฤ dowolnฤ nierozproszonฤ aplikacjฤ.
Co to jest Zookeeper?
Straลผnik Apaczรณw to rozproszona usลuga koordynacji typu open source, ktรณra pomaga zarzฤ dzaฤ duลผฤ liczbฤ hostรณw. Zarzฤ dzanie i koordynacja w ลrodowisku rozproszonym jest trudna. Zookeeper automatyzuje ten proces i pozwala programistom skoncentrowaฤ siฤ na tworzeniu funkcji oprogramowania, zamiast martwiฤ siฤ jego rozproszonym charakterem.
Zookeeper pomaga Ci utrzymaฤ informacje o konfiguracji, nazewnictwie, usลugach grupowych dla rozproszonych aplikacji. Implementuje rรณลผne protokoลy w klastrze, aby aplikacja nie musiaลa implementowaฤ ich samodzielnie. Zapewnia jeden spรณjny widok wielu maszyn.
Dlaczego Apache Zookeeper?
Oto waลผne powody popularnoลci Zookeepera:
- Umoลผliwia wzajemne wykluczanie i wspรณลpracฤ pomiฤdzy procesami serwerowymi
- Zapewnia spรณjne dziaลanie aplikacji.
- Proces transakcji nigdy nie jest zakoลczony czฤลciowo. Nadawany jest mu status Sukcesu lub Poraลผki. Stan rozproszony moลผna utrzymaฤ, ale nigdy nie jest ลบle
- Niezaleลผnie od tego, z jakim serwerem siฤ ลฤ czy, klient bฤdzie mรณgล zobaczyฤ ten sam widok usลugi
- Pomaga kodowaฤ dane zgodnie z okreลlonym zestawem reguล
- Pomaga zachowaฤ standardowฤ hierarchicznฤ przestrzeล nazw podobnฤ do plikรณw i katalogรณw
- Komputery dziaลajฤ ce jako pojedynczy system, ktรณry moลผna ลฤ czyฤ lokalnie lub geograficznie
- Umoลผliwia doลฤ czanie/opuszczanie wฤzลรณw w klastrze oraz sprawdzanie statusu wฤzลรณw w czasie rzeczywistym
- Moลผesz zwiฤkszyฤ wydajnoลฤ, wdraลผajฤ c wiฤcej maszyn
- Pozwala wybraฤ wฤzeล jako lidera dla lepszej koordynacji
- ZooKeeper dziaลa szybko z obciฤ ลผeniami, w ktรณrych odczyty danych sฤ czฤstsze niลผ zapisy
Opiekun zoo Architecture: Jak to dziaลa?
Oto krรณtkie wyjaลnienie dot Apache Architektura Zookeepera:
- Zookeeper podฤ ลผa za klientem-serwerem Architektura
- Wszystkie systemy przechowujฤ kopiฤ danych
- Liderzy sฤ wybierani na poczฤ tku

serwer: Serwer wysyลa potwierdzenie, gdy dowolny klient siฤ poลฤ czy. W przypadku braku odpowiedzi z podลฤ czonego serwera klient automatycznie przekierowuje wiadomoลฤ na inny serwer.
klientem: Klient jest jednym z wฤzลรณw w rozproszonym klastrze aplikacji. Pomaga uzyskaฤ dostฤp do informacji z serwera. Kaลผdy klient wysyลa wiadomoลฤ do serwera w regularnych odstฤpach czasu, co pomaga serwerowi dowiedzieฤ siฤ, ลผe klient jest aktywny.
Lider: Jeden z serwerรณw jest wyznaczony jako Lider. Daje wszystkie informacje klientom, a takลผe potwierdzenie, ลผe serwer dziaลa. Przeprowadzi automatyczne odzyskiwanie, jeลli ktรณrykolwiek z podลฤ czonych wฤzลรณw ulegnie awarii.
Zwolennik: Wฤzeล serwera, ktรณry wykonuje instrukcje lidera, nazywany jest naลladowcฤ .
- ลปฤ dania odczytu klienta sฤ obsลugiwane przez odpowiednio podลฤ czony serwer Zookeeper
- ลปฤ dania zapisywane przez klienta sฤ obsลugiwane przez lidera Zookeepera.
Ensemble/Cluster: Grupa serwerรณw Zookeeper zwana zespoลem lub a Cluster. Moลผesz uลผyฤ infrastruktury ZooKeeper w trybie klastra, aby mieฤ system o optymalnej wartoลci, gdy uruchamiasz Apache.
Interfejs internetowy ZooKeepera: Jeลli chcesz pracowaฤ z zarzฤ dzaniem zasobami ZooKeeper, musisz uลผyฤ WebUI. Umoลผliwia pracฤ z ZooKeeperem przy uลผyciu internetowego interfejsu uลผytkownika, zamiast korzystania z wiersza poleceล. Oferuje szybkฤ i efektywnฤ komunikacjฤ z aplikacjฤ ZooKeeper.
Model danych zookeepera (ZDM)
Teraz w tym samouczku ZooKeeper dowiemy siฤ o modelu danych Zookeepera. Poniลผszy rysunek wyjaลnia model danych Apache Zookeeper:

- Model danych zookeepera podฤ ลผa za hierarchicznฤ przestrzeniฤ nazw, w ktรณrej kaลผdy wฤzeล nazywany jest ZNode. Wฤzeล to system, w ktรณrym dziaลa klaster.
- Kaลผdy ZNode ma dane. Moลผe mieฤ dzieci lub nie
- ลcieลผki ZNode:
- Kanoniczne, oddzielone ukoลnikami i absolutne
- Nie uลผywaj ลผadnych wzglฤdnych odniesieล
- Nazwy mogฤ zawieraฤ znaki Unicode
- ZNode utrzymuje strukturฤ statystyk i numer wersji dla zmian danych.
Rodzaje wฤzลรณw zookeepera
Istniejฤ trzy typy Znodรณw:
Uporczywoลฤ znode: Ten typ znode dziaลa nawet po rozลฤ czeniu klienta, ktรณry utworzyล ten konkretny znode. Domyลlnie w zookeeperze wszystkie wฤzลy sฤ trwaลe, jeลli nie jest to okreลlone.
Efemeryczny znode: Ten typ znode dozorcy zoo ลผyje, dopรณki klient nie ลผyje. Dlatego teลผ, gdy klient zostanie rozลฤ czony z zookeeperem, zostanie ono rรณwnieลผ usuniฤte. Co wiฤcej, wฤzลy efemeryczne nie mogฤ mieฤ dzieci.
Sekwencyjna znode: Kolejne znody mogฤ byฤ efemeryczne lub trwaลe. Zatem kiedy nowy znode tworzony jest jako znode sekwencyjny. Moลผesz przypisaฤ ลcieลผkฤ znode, doลฤ czajฤ c 10-cyfrowy numer kolejny do oryginalnej nazwy.
ZDM- Zegarki
Zookeeper, zdarzenie watch to jednorazowy wyzwalacz, ktรณry jest wysyลany do klienta, ktรณry ustawiล watch. Wystฤpuje, gdy dane z tego watch ulegajฤ zmianie. Watch ZDM pozwala klientom otrzymywaฤ powiadomienia, gdy znode ulega zmianie. Operacje odczytu ZDM, takie jak getData(), getChidleren(), exist, majฤ opcjฤ ustawienia watch.
Zegarki sฤ uporzฤ dkowane, kolejnoลฤ zdarzeล zegarka odpowiada kolejnoลci aktualizacji. Klient bฤdzie mรณgล zobaczyฤ zdarzenie watch dla znode przed zobaczeniem nowych danych odpowiadajฤ cych temu znode.
ZDM โ lista kontroli dostฤpu
Zookeeper uลผywa list ACL do kontrolowania dostฤpu do swoich znode. Lista ACL skลada siฤ z pary (schemat: id, pozwolenie)
Wbuduj schematy ACL:
ลwiat: ma jeden identyfikator, kaลผdy
auth: Nie uลผywaj ลผadnego identyfikatora. Reprezentuje dowolnego uwierzytelnionego uลผytkownika
skrรณt: uลผyj nazwy uลผytkownika: hasลo
host: umoลผliwia uลผycie nazwy hosta klienta jako identyfikatora ACL
IP: uลผyj adresu IP hosta klienta jako identyfikatora ACL
Uprawnienia ACL:
- TWORZENIE
- CZYTAฤ
- NAPISZ
- DELETE
- ADMIN
Np. (IP: 192.168.0.0/16, CZYTAJ)
ZKS โ Stany sesji i czas ลผycia

- Przed wykonaniem jakiegokolwiek ลผฤ dania waลผne jest, aby klient nawiฤ zaล sesjฤ z usลugฤ
- Wszystkie operacje, do ktรณrych klienci sฤ kierowani, sฤ automatycznie kojarzone z sesjฤ
- Klient moลผe poลฤ czyฤ siฤ z dowolnym serwerem w klastrze. Jednak poลฤ czy siฤ tylko z jednym serwerem
- Sesja zapewnia โgwarancje zamรณwieniaโ. ลปฤ dania w sesji realizowane sฤ w kolejnoลci FIFO
- Gลรณwne stany sesji to 1) ลฤ czenie, 2) Poลฤ czona 3) Zamkniฤta 4) Brak poลฤ czenia.
Jak zainstalowaฤ ZooKeepera
Krok 1) Kliknij Kontynuuj subskrypcjฤ
Idลบ do tego link i kliknij โKontynuuj subskrypcjฤโ
Krok 2) Zaakceptuj regulamin
Na nastฤpnej stronie zaakceptuj umowฤ licencyjnฤ
Krok 3) Wyลwietlono wiadomoลฤ z podziฤkowaniami
Zobaczysz nastฤpujฤ
cy komunikat
Krok 4) Kliknij Kontynuuj konfiguracjฤ
Odลwieลผ stronฤ po 5 minutach i przejdลบ do konfiguracji
Krok 5) Kliknij โKontynuuj uruchamianieโ
Na nastฤpnym ekranie Uruchom ZooKeeper
Krok 6) Gratulacje!
Gotowe!
Aplikacje Apache ZooKeeper
Apache Zookeeper uลผywany do nastฤpujฤ cych celรณw:
- Zarzฤ dzanie konfiguracjฤ
- Usลugi nazewnicze
- Wybรณr lidera
- Kolejkowanie wiadomoลci
- Zarzฤ dzanie systemem powiadomieล
- Synchronizacja
- Rozproszone Cluster Zarzฤ d
Firmy korzystajฤ ce z Zookeepera
- Yahoo
- eBay
- Netflix
- Zynga
- Nutanix
Wady korzystania z Zookeepera
- Jeลli dodasz nowe serwery Zookeeper, moลผe nastฤ piฤ utrata danych
- Brak moลผliwoลci migracji dla uลผytkownikรณw
- Nie oferuj wsparcia w zakresie umieszczania stojakรณw i ลwiadomoลci
- Zookeeper nie pozwala na zmniejszenie liczby podรณw, aby zapobiec przypadkowej utracie danych
- Nie moลผna przeลฤ czyฤ usลugi na sieฤ hosta bez peลnej ponownej instalacji, gdy usลuga jest wdraลผana w sieci wirtualnej
- Usลuga nie obsลuguje zmiany wymagaล dotyczฤ cych woluminu po zakoลczeniu wstฤpnego wdroลผenia
- W grฤ wchodzi duลผa liczba wฤzลรณw, wiฤc moลผe wystฤpowaฤ wiฤcej niลผ jeden punkt awarii
- Wiadomoลci mogฤ zostaฤ utracone w sieci komunikacyjnej, co wymaga specjalnego oprogramowania, aby je odzyskaฤ
Podsumowanie
- Aplikacja rozproszona to aplikacja, ktรณra moลผe dziaลaฤ na wielu systemach w sieci
- Apache Zookeeper to rozproszona usลuga koordynacji typu open source, ktรณra pomaga zarzฤ dzaฤ duลผym zestawem hostรณw
- Umoลผliwia wzajemne wykluczanie i wspรณลpracฤ pomiฤdzy procesami serwerowymi
- Serwer, Klient, Lider, Naลladowca, Zespรณล/Cluster, ZooKeeper WebUI to waลผne komponenty zookeepera
- Trzy typy Znodรณw to trwaลe, efemeryczne i sekwencyjne
- Zegarek ZDM to jednorazowy wyzwalacz wysyลany do klienta ustawiajฤ cego zegarek. Miaลo to miejsce w momencie zmiany danych z tego zegarka
- Zookeeper Hadoop uลผywa list ACL do kontrolowania dostฤpu do swoich znodes
- Zarzฤ dzanie konfiguracjฤ , Nazewnictwo usลug, Wybรณr lidera, Kolejkowanie wiadomoลci, Zarzฤ dzanie systemem powiadomieล, Synchronizacja, rozproszona Cluster Zarzฤ dzanie itp.
- Yahoo, Facebook, eBay, Twitter, Netflix to kilka znanych firm korzystajฤ cych z zookeeper
- Gลรณwnฤ wadฤ tego narzฤdzia jest to, ลผe w przypadku dodawania nowych serwerรณw Zookeeper moลผe wystฤ piฤ strata





