Edge for Private Cloud w wersji 4.18.05
Zestawy ZooKeeper zostały zaprojektowane tak, aby pozostawały funkcjonalne bez utraty danych co najmniej jeden węzeł ZooKeeper. Tę odporność można skutecznie wykorzystać do konserwacji Węzły ZooKeeper bez przestoju systemu.
Informacje o ZooKeeper i Edge
W Edge węzły ZooKeeper zawierają dane konfiguracyjne dotyczące lokalizacji i konfiguracji różnych komponentów Edge i powiadamia o nich poszczególne komponenty. Wszystkie obsługiwane topologie brzegu dla systemu produkcyjnego określają używanie co najmniej 3 zooKeeper węzłów.
Użyj właściwości ZK_HOSTS
i ZK_CLIENT_HOSTS
w
Plik konfiguracyjny Edge do określania węzłów ZooKeeper. Na egzamin
ZK_HOSTS="$IP1 $IP2 $IP3" ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"
Gdzie:
ZK_HOSTS
określa adresy IP węzłów ZooKeeper. Adresy IP muszą być wymienione w tej samej kolejności we wszystkich węzłach ZooKeeper.W środowisku wielu centrów danych należy wyświetlić wszystkie węzły ZooKeeper ze wszystkich centrów danych.
ZK_CLIENT_HOSTS
określa adresy IP węzłów ZooKeeper używanych przez tę funkcję Tylko w centrum danych. Adresy IP muszą być podane w tej samej kolejności we wszystkich węzłach ZooKeeper w w centrum danych.W jednej instalacji centrum danych są to te same węzły określone przez ZK_HOSTS. W wiele centrów danych, plik konfiguracyjny Edge dla każdego centrum danych powinien zawierać tylko węzłów ZooKeeper w tym centrum danych.
Domyślnie wszystkie węzły ZooKeeper są oznaczone jako węzły wyborców. Oznacza to, że węzły
wszyscy biorą udział w wyborze lidera ZooKeeper. Możesz użyć parametru
Modyfikator :observer
z wartością ZK_HOSTS
wskazującą, że
jest to węzeł obserwatora, a nie głosujący. Węzeł obserwatora nie uczestniczy
wybór lidera.
Podczas tworzenia wielu danych brzegowych zwykle określa się modyfikator :observer
lub gdy pojedyncze centrum danych ma dużą liczbę węzłów ZooKeeper. Na przykład w parametrze
Instalacja Edge na 12 hostach z 2 centrami danych. ZooKeeper w węźle 9 w Centrum danych 2 to
obserwator:
Następnie użyj następujących ustawień w pliku konfiguracyjnym Centrum danych 1:
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer" ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"
A jeśli chodzi o centrum danych,
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer" ZK_CLIENT_HOSTS="$IP7 $IP8 $IP9"
O liderach, obserwatorach, wyborców i obserwatorów
W przypadku instalacji ZooKeeper z wieloma węzłami 1 z nich jest określany jako wiodący. Wszystkie pozostałe węzły ZooKeeper są oznaczane jako obserwatorzy. Odczyt może odbywać się Węzeł ZooKeeper, wszystkie żądania zapisu są przekazywane do lidera. Na przykład nowa wiadomość Procesor został dodany do Edge. Ta informacja jest wysyłana do lidera ZooKeeper. Wszyscy obserwatorzy a potem replikuj dane.
Podczas instalacji Edge wyznaczasz każdy węzeł ZooKeeper jako wyborcę lub obserwatora. lider jest następnie wybierany przez wszystkie węzły wyborców ZooKeeper. Jedynym wymogiem dotyczącym wyboru przywódcą jest konieczność kworum działających węzłów wyborczych ZooKeeper. O kworum oznacza, że ponad połowa wszystkich węzłów ZooKeeper głosujących we wszystkich centrach danych jest i funkcjonalność.
Jeśli nie ma kworum węzłów wyborczych, nie można wybrać lidera. W takim przypadku Właściciel zoo nie może realizować próśb. Oznacza to, że nie możesz wysłać żądania do zarządzania urządzeniami brzegowymi Serwer, przetwarzaj żądania do interfejsu Management API lub loguj się w interfejsie Edge, dopóki kworum nie zostanie przywrócone.
Na przykład w przypadku pojedynczej instalacji w centrum danych:
- Zainstalowano 3 węzły ZooKeeper
- Wszystkie węzły ZooKeeper to głosujący
- Korum to 2 funkcjonujące węzły wyborcze
- Jeśli dostępny jest tylko jeden węzeł wyborczy, zespół ZooKeeper nie będzie mógł funkcjonować.
W instalacji z dwoma centrami danych:
- Na każdym centrum danych zainstalowano trzy węzły ZooKeeper. Łącznie daje to 6 węzłów.
- Centrum danych 1 ma trzy węzły wyborcze
- Centrum danych 2 ma dwa węzły wyborcze i jeden obserwator
- Korum wynika z liczby 5 głosujących w obu centrach danych, 3 funkcjonujące węzły wyborcze
- Jeśli dostępnych jest maksymalnie dwóch węzłów wyborczych, zespół ZooKeeper nie będzie mógł funkcja
dodanie węzłów jako głosujących lub obserwatorzy
Wymagania systemowe mogą wymagać dodania dodatkowych węzłów ZooKeeper do Edge instalacji. Dokumentacja dodawania węzłów ZooKeeper. opisuje sposób dodawania kolejnych węzłów ZooKeeper do Edge. Podczas dodawania węzłów ZooKeeper musisz: uwzględnia rodzaj węzłów do dodania: wyborca lub obserwator.
Musisz mieć wystarczającą liczbę węzłów wyborczych, aby w razie awarii co najmniej jednego z nich że zespół ZooKeeper wciąż może funkcjonować, co oznacza, że wciąż mamy kworumę wyborców. i dostępności informacji. Dodając węzły głosujących, zwiększasz kworum, więc tolerować, że więcej węzłów wyborczych nie działa.
Jednak dodanie kolejnych węzłów głosujących może negatywnie wpłynąć na wydajność zapisu, ponieważ zapis wymaga kworum zgody co do lidera. Czas potrzebny na określenie zwycięzcy zależy od liczby węzłów wyborczych, która wzrasta w miarę dodawania kolejnych takich węzłów. Dlatego nie chcesz, aby wszystkie węzły miały być głosowane.
Zamiast dodawać węzły wyborców, możesz dodać węzły obserwatorów. Dodawanie węzłów obserwatora wzrasta ogólną wydajność systemu odczytu bez dodatkowego dokładności przy wybieraniu lidera, ponieważ węzły obserwatorów nie głosują i nie wpływają na kworum. Jeśli więc węzeł obserwatora przestanie działać, nie wpływa na możliwość wyboru lidera przez zespół. Jednak utrata obserwatora mogą pogorszyć wydajność odczytu zespołu ZooKeeper, ponieważ dla żądań danych usługi dostępnych jest mniej węzłów.
Apigee zaleca, aby w jednym centrum danych nie było więcej niż 5 głosujących w zależności od liczby węzłów obserwatora. W 2 centrach danych Apigee zaleca, aby nie było więcej niż dziewięciu głosujących (pięć w jednym centrum danych, a 4 w drugim). Potem możesz dodać ich tyle węzłów Obserwatorzy, zgodnie z wymaganiami systemowymi.
Uwagi na temat konserwacji
Konserwację ZooKeeper można przeprowadzić na w pełni sprawnym zespole bez żadnych przestojów jest wykonywana na jednym węźle naraz. Upewnij się, że tylko jeden węzeł ZooKeeper nie działa możesz mieć pewność, że w każdej chwili masz całkowitą liczbę węzłów wyborczych, które mogą .
Konserwacja w wiele centrów danych
Przy pracy z wieloma centrami danych należy pamiętać, że zespół ZooKeeper nie rozróżniają między centrami danych. Zestawy ZooKeeper wyświetlają wszystkie węzły ZooKeeper we wszystkich Centra danych jako całość.
Lokalizacja węzłów wyborczych w danym centrum danych nie jest brana pod uwagę przy wykonywaniu przez ZooKeeper kworum. Poszczególne węzły mogą zejść poniżej założeń między centrami danych, ale tak długo, jak stanowi to kworum z zachowaniem całej grupy, a ZooKeeper działa.
Konsekwencje konserwacji
Na różne czasy trzeba wyłączyć węzeł ZooKeeper w celu konserwacji, np. wyborca lub obserwatora. Konieczne może być na przykład uaktualnienie wersji Edge w węźle, maszyna hostująca ZooKeeper może ulec awarii lub węzeł może stać się niedostępny dla innego przyczyna, na przykład błąd sieci.
Jeśli węzeł, który nie działa, jest węzłem obserwatora, można spodziewać się niewielkiego pogorszenia działania zespołu ZooKeeper do momentu przywrócenia węzła. Jeśli węzeł jest wyborcą może wpłynąć na wydajność zespołu ZooKeeper z powodu utraty węzła, który uczestniczy w procesie wyborów na liderów. Niezależnie od tego, jaki jest powód, dla którego ważne jest utrzymanie kworum dostępnych węzłów wyborczych.
Procedura konserwacji
Wszelkie procedury konserwacji należy rozważyć dopiero po upewnieniu się, że urządzenie ZooKeeper jest funkcjonalny. Zakładamy przy tym, że węzły obserwatora działają i jest wystarczająco dużo węzłów wyborczych dostępnych podczas konserwacji, aby zachować kworum.
Po spełnieniu tych warunków grupa ZooKeeper o dowolnej wielkości może tolerować utraty jednego węzła bez utraty danych ani istotnego wpływu na wydajność. Ten pozwala na konserwację dowolnego węzła w zespole, dopóki jest on w jednym tylko jeden węzeł jednocześnie.
W ramach konserwacji wykonaj poniższe czynności, aby określić typ Węzeł ZooKeeper (lider, wyborca lub obserwator):
- Jeśli nie jest on zainstalowany w węźle ZooKeeper, zainstaluj nc:
sudo yum install nc
- Uruchom w węźle następujące polecenie nc:
echo stat | nc localhost 2181
Gdzie 2181 to port ZooKeeper. Powinny pojawić się dane wyjściowe w formularzu:
Zookeeper version: 3.4.5-1392090, built on 09/30/2012 17:52 GMT Clients: /a.b.c.d:xxxx[0](queued=0,recved=1,sent=0) Latency min/avg/max: 0/0/0 Received: 1 Sent: 0 Connections: 1 Outstanding: 0 Zxid: 0xc00000044 Mode: follower Node count: 653
W wierszu
Mode
danych wyjściowych węzłów powinien być widoczny tekstobserver
,leader
lubfollower
(co oznacza wyborcę, który nie jest liderem) w zależności od konfiguracji węzła. - Powtórz kroki 1 i 2 w każdym węźle ZooKeeper.
Podsumowanie
Najlepszym sposobem konserwacji zespołu ZooKeeper jest wykonanie go w jednym węźle obecnie się znajdujesz. Pamiętaj:
- Musisz utrzymać kworum węzłów wyborczych w czasie prac konserwacyjnych, aby całość pozostaje funkcjonalna
- Usunięcie węzła obserwatora nie ma wpływu na kworum ani możliwość wyboru lidera
- Kworum jest obliczany dla wszystkich węzłów ZooKeeper we wszystkich centrach danych
- Kontynuuj konserwację na następnym serwerze, gdy poprzedni serwer zacznie działać
- Użyj polecenia
nc
, aby sprawdzić węzeł ZooKeeper