Jak zainstalować i skonfigurować Zookeeper w Ubuntu 18.04

Jak zainstalować i skonfigurować Zookeeper w Ubuntu 18.04

Zookeeper to scentralizowana usługa utrzymywania informacji konfiguracyjnych, nazywania, dostarczania rozproszonej synchronizacji i świadczenia usług grupowych.
Wszystkie tego rodzaju usługi są używane w takiej lub innej formie przez rozproszone aplikacje.

W tym artykule wyjaśniliśmy niezbędne kroki do zainstalowania i skonfigurowania 3 węzłów Zookeeper z określoną kworum na Ubuntu 18.04.

W tym samouczku nauczysz się:

  • Co to jest Zookeeper i jego przegląd.
  • Jaka jest architektura Zookeepera.
  • Jak skonfigurować hosty Zookeeper i dodać użytkownika Zookeeper.
  • Jak zainstalować i skonfigurować Oracle JDK.
  • Jak skonfigurować i skonfigurować Zookeeper.
  • Jak skonfigurować węzły robotnicze, aby dołączyć do klastra roju.
  • Jak zweryfikować klaster Zookeeper i zespół.
Zookeeper architektoniczny przegląd.

Zastosowane wymagania i konwencje oprogramowania

Wymagania oprogramowania i konwencje linii poleceń Linux
Kategoria Wymagania, konwencje lub wersja oprogramowania
System Ubuntu 18.04
Oprogramowanie Zookeeper-3.4.12, Oracle JDK 1.8.0_192
Inny Uprzywilejowany dostęp do systemu Linux jako root lub za pośrednictwem sudo Komenda.
Konwencje # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny

Przegląd Zookeeper



Zookeeper umożliwia koordynację procesów rozproszonych za pośrednictwem wspólnej hierarchicznej przestrzeni rejestrów danych (nazywamy te rejestry Znodes), podobnie jak system plików. W przeciwieństwie do normalnych systemów plików Zookeeper zapewnia swoim klientom wysoką przepustowość, niskie opóźnienie, wysoce dostępne, ściśle uporządkowane dostęp do Znodes.

Aspekty wydajności Zookeeper pozwalają na stosowanie go w dużych systemach rozproszonych. Aspekty niezawodności uniemożliwiają jej stanie się jednym punktem awarii w dużych systemach. Jego ścisłe zamawianie umożliwia zaimplementowanie wyrafinowanych prymitywów synchronizacji u klienta.

Przestrzeń nazwy dostarczona przez Zookeeper jest podobna do standardowego systemu plików. Nazwa jest sekwencją elementów ścieżki oddzielonych cięciem („/”). Każdy Znode w przestrzeni nazwy Zookeeper jest identyfikowany przez ścieżkę. I każdy Znode ma rodzica, którego ścieżka jest prefiksem Znode z jednym elementem mniejszym; Wyjątkiem od tej reguły jest root („/”), który nie ma rodzica. Ponadto, podobnie jak standardowe systemy plików, znode nie można usunąć, jeśli ma jakieś dzieci.

Zookeeper został zaprojektowany do przechowywania danych koordynacyjnych: informacje o stanie, konfiguracja, informacje o lokalizacji itp.

Architektura Zookeepera

W przypadku niezawodnej usługi Zookeeper powinieneś wdrożyć Zookeeper w klastrze znanym jako zespół. Dopóki większość zespołu jest dostępna, usługa będzie dostępna. Ponieważ Zookeeper wymaga większości, najlepiej jest użyć nieparzystej liczby maszyn. Na przykład z czterema maszynami Zookeeper może poradzić sobie tylko z awarią pojedynczej maszyny; Jeśli dwie maszyny zawiedzie, pozostałe dwie maszyny nie stanowią większości. Jednak z pięcioma maszynami Zookeeper może poradzić sobie z awarią dwóch maszyn.

Każdy z komponentów, który jest częścią architektury Zookeeper, został wyjaśniony poniżej.

  • Klient - Klienci, jeden z węzłów w naszym rozproszonym klastrze aplikacji, dostęp do informacji z serwera. W określonym przedziale czasowym każdy klient wysyła wiadomość do serwera, aby poinformować Sever, że klient żyje.Podobnie serwer wysyła potwierdzenie, gdy klient się łączy. Jeśli nie ma odpowiedzi z podłączonego serwera, klient automatycznie przekierowuje komunikat na inny serwer.
  • serwer - Serwer, jeden z węzłów w naszym zespole Zookeeper, świadczy wszystkie usługi klientom. Udziela klienta potwierdzenia, aby poinformować, że serwer żyje.
  • Lider - Węzeł serwerowy, który wykonuje automatyczne odzyskiwanie, jeśli któryś z podłączonych węzeł nie powiódł się. Liderzy są wybierani na startup serwisowy.
  • Zwolennik - Węzeł serwerowy, który śledzi instrukcję lidera.

Skonfiguruj hosty Zookeeper i dodaj użytkownika Zookeeper

Przed zainstalowaniem niezbędnych pakietów Zookeeper do konfiguracji skonfigurujemy plik hostów we wszystkich węzłach Ubuntu. Następnie utworzymy użytkownika Zookeeper we wszystkich trzech węzłach, ponieważ Demon Zookeeper musi być uruchomiony jako Zookeeper sam użytkownik.



Tutaj użyliśmy 3 Ubuntu 18.04 maszyny.

Zookeeper Node1 - 192.168.1.102 (nazwa hosta - Node1) Zookeeper Node2 - 192.168.1.103 (nazwa hosta - Node2) Zookeeper Node3 - 192.168.1.105 (nazwa hosta - Node3) 

Edytuj /etc/hosts plik we wszystkich trzech węzłach za pośrednictwem Gedit Lub krzepa i wykonaj następujące zmiany:

192.168.1.102 Node1 192.168.1.103 Node2 192.168.1.105 węzeł3 
Kopiuj

Po zmodyfikowaniu powyższych szczegółów w pliku hostów, sprawdź łączność z pingem między wszystkimi węzłami.

Teraz stwórz nowe Zookeeper Użytkownik i grupa za pomocą polecenia:

# Adduser Zookeeper 

Zainstaluj i skonfiguruj Oracle JDK

Pobierz i wyodrębnij archiwum Java pod /optować informator. Aby uzyskać więcej informacji, przejdź do sposobu zainstalowania Java na Ubuntu 18.04.

Aby ustawić JDK 1.8 Aktualizacja 192 Jako domyślny JVM użyjemy następujących poleceń:

# aktualizacja-alternatywy-install/usr/bin/java java/opt/jdk1.8.0_192/bin/java 100 # aktualizacja-alternatywy-install/usr/bin/javac javac/opt/jdk1.8.0_192/bin/javac 100 

Po instalacji w celu sprawdzenia Java została pomyślnie skonfigurowana, uruchom następujące polecenia:

# aktualizacja-alternatywy--Display Java # aktualizacja-alternatywy-Display Javac 

Aby sprawdzić wersję Java, uruchom następujące polecenia:

# java -version 

Po udanej instalacji otrzymasz poniższe informacje:

Wersja Java "1.8.0_192 "Java (TM) SE Environment (kompilacja 1.8.0_192-B12) Java Hotspot (TM) 64-bit serwer VM (kompilacja 25.192-B12, tryb mieszany) 


Skonfiguruj i skonfiguruj Zookeeper

Pobierz i rozpakuj pakiet Zookeeper z oficjalnego archiwum Apache we wszystkich trzech maszynach Ubuntu, jak pokazano poniżej:

$ wget https: // www-us.Apache.Org/Dist/Zookeeper/Stable/Zookeeper-3.4.12.smoła.GZ 
$ tar -xzvf Zookeeper -3.4.12.smoła.GZ 

Edytuj Bashrc Dla użytkownika Zookeeper poprzez konfigurowanie następujących zmiennych środowiskowych Zookeeper.

Eksport zoo_log_dir =/var/log/zookeeper 

Źródło .BASHRC w bieżącej sesji logowania:

$ źródło ~/.Bashrc 

Teraz utwórz katalog Zookeeper pod /var/lib folder, który będzie służył jako katalog danych Zookeeper i utworzy inny Zookeeper Directory pod /var/log gdzie zostaną schwytane wszystkie dzienniki Zookeeper. Oba własność katalogu należy zmienić jako Zookeeper.

$ sudo mkdir/var/lib/zookeeper; CD /var /lib; Sudo Chown Zookeeper: Zookeeper Zookeeper/$ sudo mkdir/var/log/Zookeeper; cd /var /log; Sudo Chown Zookeeper: Zookeeper Zookeeper/ 

Utwórz identyfikator serwera dla zespołu. Każdy serwer Zookeeper powinien mieć unikalny numer w mój dokument tożsamości plik w zespole i powinien mieć wartość od 1 do 255.

W węźle1

$ sudo sh -c "echo '1'>/var/lib/zookeeper/myid" 

W węźle2

$ sudo sh -c "echo '2'>/var/lib/zookeeper/myid" 

W węźle3

$ sudo sh -c "echo '3'>/var/lib/zookeeper/myid" 

Teraz przejdź do folderu konfttury pod katalogiem domowym Zookeeper (lokalizacja katalogu Zookeeper po rozpakowaniu/wyodrębnianiu archiwum).

$ CD/Home/Zookeeper/Zookeeper-3.4.13/conf/ 


Zookeeper@node1: ~/Zookeeper-3.4.13/Conf $ ls-lrth Razem 16K -RW-R-R-- 1 Zookeeper Zookeeper 922 czerwca 29 21:04 Zoo_sample.CFG -RW-R-R-- 1 Zookeeper Zookeeper 535 czerwca 29 21:04 Konfiguracja.XSL -RW-R-R-- 1 Zookeeper Zookeeper 999 listopada 24 18:29 Zoo.CFG -RW-R-R-- 1 Zookeeper Zookeeper 2.2k 24 listopada 19:07 log4J.nieruchomości 
Kopiuj

Domyślnie przykładowy plik CONF z nazwą zoo_sample.CFG będzie obecny w conf informator. Musisz wykonać kopię z imieniem ogród zoologiczny.CFG jak pokazano poniżej i edytuj nowy ogród zoologiczny.CFG Jak opisano we wszystkich trzech maszynach Ubuntu.

$ cp zoo_sample.Zoo CFG.CFG 
$ ls -lrth/home/zookeeper/Zookeeper -3.4.13/Conf całkowita 16K -RW-R-R-- 1 Zookeeper Zookeeper 922 29 czerwca 21:04 Zoo_sample.CFG -RW-R-R-- 1 Zookeeper Zookeeper 535 czerwca 29 21:04 Konfiguracja.XSL -RW-R-R-- 1 Zookeeper Zookeeper 999 listopada 24 18:29 Zoo.CFG -RW-R-R-- 1 Zookeeper Zookeeper 2.2k 24 listopada 19:07 log4J.nieruchomości 
Kopiuj
$ vim/home/zookeeper/Zookeeper-3.4.13/Conf/Zoo.CFG 
DataDir =/var/lib/Zookeeper Server.1 = Node1: 2888: 3888 Serwer.2 = Node2: 2888: 3888 Serwer.3 = Node3: 2888: 3888 
Kopiuj

Zmiany konfiguracji Zookeeper.



Teraz wykonaj poniższe zmiany w log4.nieruchomości Plik w następujący sposób.

$ vim/home/zookeeper/Zookeeper-3.4.13/conf/log4J.nieruchomości 
Zookeeper.dziennik.Dir =/var/log/Zookeeper Zookeeper.TRACELOG.dir =/var/log/zookeeper log4J.rootLogger = Info, konsola, rollingfile 
Kopiuj

ZOBÓW ZOLAKTUJĄCE ZOBORNICY.

Po zakończeniu konfiguracji ogród zoologiczny.CFG Plik we wszystkich trzech węzłach rozpocznij Zookeeper we wszystkich trzech węzłach jeden po drugim, używając następującego polecenia:

$/home/Zookeeper/Zookeeper-3.4.13/bin/zkserver.SH START 

Usługa Zookeeper rozpoczyna się na wszystkich trzech węzłach.

Plik dziennika zostanie utworzony w /var/log/zookeeper Zookeepera wymienionego Zookeeper.dziennik, ogon plik, aby zobaczyć dzienniki dla wszelkich błędów.

$ tygn -f/var/log/Zookeeper/Zookeeper.dziennik 


Sprawdź klaster i zespół Zookeeper

W Zookeeper Ensemble z trzech serwerów jeden będzie w trybie lidera, a pozostałe dwa będą w trybie obserwującego. Możesz sprawdzić status, uruchamiając następujące polecenia.

$/home/Zookeeper/Zookeeper-3.4.13/bin/zkserver.status SH 

Zookeeper Service Check.

$ echo Stat | Nod Node1 2181 

Wymienia krótkie szczegóły dla serwera i podłączonych klientów.

$ echo mntr | Nod Node1 2181 

Zookeeper lista zmiennych do monitorowania zdrowia klastra.



$ echo srvr | NC Localhost 2181 

Wymienia pełne szczegóły dla serwera Zookeeper.

Jeśli chcesz sprawdzić i zobaczyć Znode, możesz połączyć się za pomocą poniższego polecenia w dowolnym węźle Zookeeper:

$/home/Zookeeper/Zookeeper-3.4.13/bin/zkcli.sh -server „hostName -f”: 2181 

Połącz się z węzłem danych Zookeeper i zawiera zawartość.

Wniosek

Stał się jednym z najbardziej preferowanych wyborów do tworzenia wysoce dostępnych systemów rozproszonych na skalę. Zookeeper Project jest jednym z najbardziej udanych projektów Fundacji Apache, zyskał szerokie przyjęcie przez najlepsze firmy, zapewniając wiele korzyści związanych z dużymi zbiorami danych.

Zapewniając solidną bazę do wdrożenia różnych narzędzi dużych zbiorów danych, Apache Zookeeper pozwolił firmom płynnie funkcjonować w świecie Big Data. Jego zdolność do zapewnienia wielu korzyści jednocześnie sprawiła, że ​​jest to jedna z najbardziej preferowanych aplikacji do wdrożenia na dużą skalę.

Powiązane samouczki Linux:

  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Jak utworzyć klaster Kubernetes
  • Jak zainstalować Kubernetes na Ubuntu 20.04 Focal Fossa Linux
  • Jak zainstalować Kubernetes na Ubuntu 22.04 JAMMY Jellyfish…
  • Instalacja Oracle Java na Ubuntu 20.04 Focal Fossa Linux
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Linux: Zainstaluj Java
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Oracle Linux vs Red Hat (RHEL)
  • Mastering Bash Script Loops