Dodanie obsługi szafy Cassandra

W tej sekcji znajdziesz ogólne wskazówki dotyczące skalowania operacji Cassandra przez w Apigee Edge na potrzeby wykrywania stojaka w chmurze prywatnej.

Więcej informacji o tym, dlaczego ważne jest informowanie o stojaku pierścieniowym Cassandra, przeczytaj te artykuły zasoby:

Co to jest stojak?

Stojak Cassandra to logiczna grupa węzłów Cassandra w pierścieniu. Cassandra, korzysta z stojaków, aby zapewnić rozłożenie replik między różne grupy logiczne. Jako operacje są wysyłane nie tylko do jednego węzła, ale do wielu węzłów, każdy na osobnym stojaku, co zapewnia większą odporność na awarie i większą dostępność.

W przykładach w tej sekcji są używane trzy stojaki Cassandra, czyli liczba szaf serwerowych obsługiwane przez Apigee w topologach produkcyjnych.

Domyślna instalacja systemu Cassandra w Apigee Edge dla Private Cloud zakłada 1 stojak logiczny i umieszcza wszystkie węzłów znajdujących się w centrum danych. Instalacja i zarządzanie tą konfiguracją jest proste, może ulec awarii, jeśli operacja na jednym z tych węzłów zakończy się niepowodzeniem.

Poniższy obraz przedstawia domyślną konfigurację pierścienia Cassandra:

1 stojak z 3 węzłami
(Rys. 1) Konfiguracja domyślna: wszystkie węzły w jednym stojak
.

W bardziej niezawodnej konfiguracji każdy węzeł byłby przypisany do oddzielnego stelażu i operacji będzie również wykonywane w replikach w każdym z tych stelażów.

Ilustracja poniżej przedstawia pierścień z 3 węzłami. Ilustracja przedstawia kolejność wykonywania operacji zreplikowane w pierścieniu (w prawo) i podkreśla fakt, że żadne dwa węzły nie są na tym samym stojak:

3 szafy, po 1 węzeł w każdym szafie
(Rys. 2) Konfiguracja uwzględniająca stojak: 3 węzły, po jednym w każdym stojak
.

W tej konfiguracji operacje są wysyłane do węzła, ale także do jego replik na innych stelażach (w kolejności zgodnie z ruchem wskazówek zegara).

Dodaj rozpoznawalność stojaka (z 3 węzłami)

Wszystkie topologie instalacji produkcyjnej Apigee Edge for Private Cloud mają co najmniej 3 węzły Cassandra, których dotyczy ta sekcja odnoszą się do: „IP1”, „IP2” i „IP3”. Domyślnie każdy z tych węzłów znajduje się w tym samym stojaku, „ra-1”.

W tej sekcji opisano, jak przypisać węzły Cassandra do osobnych szaf serwerowych, aby wszystkie operacje są wysyłane do węzłów replik w oddzielnych grupach logicznych wewnątrz pierścienia.

Aby podczas instalacji przypisać węzły Cassandra do różnych szaf serwerowych:

  1. Przed uruchomieniem instalatora zaloguj się w węźle Cassandra i otwórz ten plik konfiguracji cichej do edycji:
    /opt/silent.conf

    Utwórz plik, jeśli nie istnieje, i upewnij się, że atrybut „apigee” użytkownika jako właściciela.

  2. Edytuj właściwość CASS_HOSTS, czyli listę adresów IP oddzielonych spacjami (nie DNS ani wpisy nazwy hosta) o takiej składni:
    CASS_HOSTS="IP_address:data_center_number,rack_number [...]"

    Wartość domyślna to pierścień Cassandra z 3 węzłami, z którym każdy węzeł jest przypisany do szafy rack 1 i danych środek 1, jak widać w tym przykładzie:

    CASS_HOSTS="IP1:1,1 IP2:1,1 IP3:1,1"
  3. Zmień przypisania stojaków tak, aby węzeł 2 był przypisany do szafy rack 2, a węzeł 3 był przypisany do stojaka 3, jak w poniższym przykładzie:
    CASS_HOSTS="IP1:1,1 IP2:1,2 IP3:1,3"

    Zmieniając przypisania stojaka, otrzymujesz od Cassandra polecenie utworzenia dwóch dodatkowych grupowania (stojaki), które następnie dostarczają repliki odbierające wszystkie operacje odebrane przez pierwszego węzła.

    Więcej informacji o korzystaniu z właściwości konfiguracji CASS_HOSTS znajdziesz w artykule Odniesienie do pliku konfiguracji brzegowej.

  4. Zapisz zmiany w pliku konfiguracji i wykonaj następujące polecenie, aby zainstalować aktualizację. Cassandra ze zaktualizowaną konfiguracją:
    /opt/apigee/apigee-setup/bin/setup.sh -p c -f path/to/silent/config

    Na przykład:

    /opt/apigee/apigee-setup/bin/setup.sh -p c -f /opt/silent.conf
  5. Powtórz tę procedurę dla każdego węzła Cassandra w pierścieniu, w kolejności, w której są przypisane w usłudze CASS_HOSTS. W takim przypadku musisz zainstalować system Cassandra. w tej kolejności:
    1. Węzeł 1 (IP1)
    2. Węzeł 2 (IP2)
    3. Węzeł 3 (IP3)

Po instalacji sprawdź konfigurację Cassandra.

Sprawdzanie konfiguracji Cassandra

Po zainstalowaniu konfiguracji Cassandra zależnej od stelażu możesz sprawdzić, czy węzły i przypisać je do różnych stelaż za pomocą polecenia nodetool status, następujący przykład:

/opt/apigee/apigee-cassandra/bin/nodetool status

To polecenie wykonujesz na jednym z węzłów Cassandra.

Wyniki powinny wyglądać mniej więcej tak, jak poniżej, gdzie kolumna Rajd pokazuje różne identyfikatory stojaków dla każdego węzła:

Datacenter: dc-1
========================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address         Load       Tokens  Owns    Host ID                             Rack
UN  IP1   737 MB  256     ?     554d4498-e683-4a53-b0a5-e37a9731bc5c     ra-1
UN  IP2   744 MB  256     ?     cf8b7abf-5c5c-4361-9c2f-59e988d52da3     ra-2
UN  IP3   723 MB  256     ?     48e0384d-738f-4589-aa3a-08dc5bd5a736     ra-3

Jeśli masz włączone uwierzytelnianie JMX dla Cassandra, musisz też podać swoją nazwę użytkownika i hasło do nodetool. Więcej informacji: Użyj narzędzia nodetool do zarządzania węzłami klastra.

Zamontuj pierścień z 6 węzłami

Aby uzyskać dodatkową nadmiarowość, możesz rozszerzyć pierścień Cassandra do 6 węzłów. W tym przypadku przypisz po 2 węzły do każdego z 3 stojaków. Ta konfiguracja wymaga 3 dodatkowych węzłów: Węzeł 4 (IP4), Węzeł 5 (IP5) i Węzeł 6 (IP6).

Poniższa ilustracja przedstawia kolejność, w jakiej operacje są replikowane w pierścieniu (w prawo) i podkreśla fakt, że podczas replikacji żadne dwa sąsiednie węzły nie znajdują się na tym samym stojak:

3 stojaki, po 2 węzły w każdym szafie
(Rys. 3) Pierścień Cassandra z 6 węzłami: 2 węzły w każdym 3 stojaki
.

W tej konfiguracji każdy węzeł ma jeszcze 2 repliki: po jednej w każdym z pozostałych 2 stojaków. Dla: na przykład węzeł 1 w szafie rack 1 ma replikę w szafach Rack 2 i Rack 3. Operacje wysyłane do węzła 1 również są uwzględniane wysyłane do replik w innych stelażach, w kolejności zgodnie z ruchem wskazówek zegara.

Aby rozwinąć pierścień Cassandra z 3 węzłami do pierścienia Cassandra z 6 węzłami, skonfiguruj węzły w w następujący sposób w pliku konfiguracji cichej:

CASS_HOSTS="IP1:1,1 IP4:1,3 IP2:1,2 IP5:1,1 IP3:1,3 IP6:1,2"

Podobnie jak w przypadku pierścienia z 3 węzłami, musisz zainstalować system Cassandra w tej samej kolejności, w której węzły pojawiają się we właściwości CASS_HOSTS:

  1. Węzeł 1 (IP1)
  2. Węzeł 4 (IP4)*
  3. Węzeł 2 (IP2)
  4. Węzeł 5 (IP5)
  5. Węzeł 3 (IP3)
  6. Węzeł 6 (IP6)

* Wprowadź zmiany w pliku konfiguracji cichej przed uruchomieniem narzędzia konfiguracyjnego. w czwartym węźle (drugiej maszynie w zamówieniu instalacji Cassandra).

Rozwiń do 12 węzłów

Aby jeszcze bardziej zwiększyć odporność na awarie i dostępność, możesz zwiększyć liczbę funkcji Cassandra węzłów w pierścieniu, od 6 do 12. Ta konfiguracja wymaga 6 dodatkowych węzłów (od IP7 do IP12).

Poniższa ilustracja przedstawia kolejność, w jakiej operacje są replikowane w pierścieniu (w prawo) i podkreśla fakt, że podczas replikacji żadne dwa sąsiednie węzły nie znajdują się na tym samym stojak:

3 stojaki, po 4 węzły w każdym szafie
(Rys. 4) Pierścień Cassandra z 12 węzłami: 4 węzły w każdym z 3 stojaki
.

Procedura instalowania pierścienia z 12 węzłami jest podobna do instalacji pierścienia z 3 lub 6 węzłami: ustaw CASS_HOSTS na podane wartości i uruchom instalator w określonej kolejności.

Aby rozwinąć do 12-węzłowego pierścienia Cassandra, skonfiguruj węzły w trybie cichym w następujący sposób plik konfiguracyjny:

CASS_HOSTS="IP1:1,1 IP7:1,2 IP4:1,3 IP8:1,1 IP2:1,2 IP9:1,3 IP5:1,1 IP10:1,2 IP3:1,3 IP11:1,1 IP6:1,2 IP12:1,3"

Tak jak w przypadku pierścieni z 3 i 6 węzłami, instalator musisz wykonać w węzłach w kolejności w których węzły pojawiają się w pliku konfiguracji:

  1. Węzeł 1 (IP1)
  2. Węzeł 7 (IP7)*
  3. Węzeł 4 (IP4)
  4. Węzeł 8 (IP8)
  5. Węzeł 2 (IP2)
  6. Węzeł 9 (IP9)
  7. Węzeł 5 (IP5)
  8. Węzeł 10 (IP10)
  9. Węzeł 3 (IP3)
  10. Węzeł 11 (IP11)
  11. Węzeł 6 (IP6)
  12. Węzeł 12 (IP12)

* Przed zainstalowaniem Apigee Edge dla Private Cloud w 7 węźle (drugiej maszynie w zamówienie instalacji Cassandra).