Konserwacja ogrodu zoologicznego

Edge for Private Cloud w wersji 4.17.09

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 adresów URL ZK_HOSTS oraz 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ły ZooKeeper. Adresy IP muszą być wymienione w tej samej kolejności na 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 wyłącznie przez to centrum danych. Adresy IP muszą być wymienione w sekcji w tej samej kolejności na wszystkich węzłach ZooKeeper 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ły ZooKeeper dla tego 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 do oznacza, że notatka jest węzłem obserwatora, a nie wyborcą. Węzeł obserwatora nie może wziąć udział w wyborach lidera.

Podczas tworzenia wielu danych brzegowych zazwyczaj 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. Dodający ZooKeeper węzłów, w którym opisujemy, jak dodać do Edge kolejne węzły ZooKeeper. Podczas dodawania węzłów ZooKeeper, musisz wziąć pod uwagę rodzaj węzłów, które chcesz dodać: wyborca i jest obserwatorem.

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):

  1. Jeśli nie jest zainstalowany w węźle ZooKeeper, zainstaluj nc:
    > sudo yum install nc
  2. Uruchom w węźle to polecenie nc:
    > statystyki echo | lokalny host nc 2181

    Gdzie 2181 to port ZooKeeper. Powinny pojawić się dane wyjściowe w formularzu:
    Wersja Zookeeper: 3.4.5-1392090, utworzono 30.09.2012 o godz. 17:52 czasu GMT
    Klienci: /a.b.c.d:xxxx[0](queued=0,recved=1,sent=0)
    Czas oczekiwania min./śr./maks.: 0/0/0
    Odebrano: 1
    Wysłano: 0
    Połączenia: 1
    Oczekujące: 0
    Zxid: 0xc00000044
    Tryb: obserwator
    Liczba węzłów: 653


    W wierszu Mode danych wyjściowych dla węzłów powinien być widoczny atrybut obserwator, leader lub obserwator (czyli wyborca, który nie jest wiodący) w zależności od konfiguracji węzła.

    Uwaga: w samodzielnej instalacji Edge z jednym węzłem ZooKeeper parametr Tryb jest ustawiony na samodzielny.
  3. 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 lider
  • 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 do sprawdzenia węzła ZooKeeper