Dodawanie węzłów Cassandra

Ten dokument opisuje, jak dodać 3 nowe węzły Cassandra do istniejącej instalacji Edge dla chmury prywatnej.

Chociaż do istniejącej instalacji Edge możesz dodać 1 lub 2 węzły Cassandra, Apigee zaleca dodawanie 3 węzłów naraz.

Listę wymagań systemowych dotyczących węzła Cassandra znajdziesz w artykule Wymagania dotyczące instalacji.

Istniejąca konfiguracja Edge

Wszystkie obsługiwane topologie Edge dla systemu produkcyjnego określają użycie 3 węzłów Cassandra. Te 3 węzły są określone we właściwości CASS_HOSTS w pliku konfiguracji, jak pokazano poniżej:

IP1=10.10.0.1
IP2=10.10.0.2
IP3=10.10.0.3
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
MSIP=$IP1 
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=1
APIGEE_LDAPPW=secret
MP_POD=gateway
REGION=dc-1
ZK_HOSTS="$IP1 $IP2 $IP3"
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" 
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com
SMTPPASSWORD=smtppwd

Zwróć uwagę, że właściwość REGION określa nazwę regionu jako „dc-1”. Te informacje będą potrzebne podczas dodawania nowych węzłów Cassandra.

modyfikowanie pliku konfiguracji w celu dodania 3 nowych węzłów Cassandra,

W tym przykładzie 3 nowe węzły systemu Cassandra mają te adresy IP:

  • 10.10.0.14
  • 10.10.0.15
  • 10.10.0.16

Najpierw musisz zaktualizować plik konfiguracji Edge, aby dodać nowe węzły:

IP1=10.10.0.1
IP2=10.10.0.2
IP3=10.10.0.3
# Add the new node IP addresses.
IP14=10.10.0.14
IP15=10.10.0.15
IP16=10.10.0.16
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com
...
# Update CASS_HOSTS to add each new node after an existing nodes. 
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP14:1,1 $IP2:1,1 $IP15:1,1 $IP3:1,1 $IP16:1,1" 

Dzięki temu istniejące węzły zachowają początkowe ustawienia tokenów, a początkowy token każdego nowego węzła będzie znajdować się między wartościami tokenów istniejących węzłów.

Konfigurowanie Edge

Po zmodyfikowaniu pliku konfiguracji musisz:

  • Ponowne konfigurowanie istniejących węzłów Cassandra
  • Instalowanie Cassandra na nowych węzłach
  • Ponowne konfigurowanie serwera zarządzania

Ponowne konfigurowanie istniejących węzłów Cassandra

Na istniejących węzłach Cassandra:

  1. Uruchom ponownie skrypt setup.sh z profilem „-p c” i nowym plikiem konfiguracji:
    /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile

Instalowanie Cassandra na nowych węzłach

Aby zainstalować system Cassandra na nowych węzłach, wykonaj podaną niżej procedurę.

Na każdym nowym węźle Cassandra:

  1. Zainstaluj system Cassandra na 3 węzłach:
    1. Zainstaluj apigee-setup na pierwszym węźle zgodnie z opisem w artykule Instalowanie narzędzia apigee-setup w Edge.
    2. Zainstaluj Cassandrę w pierwszym węźle, używając zaktualizowanego pliku konfiguracji:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
    3. Powtórz te 2 czynności w przypadku pozostałych nowych węzłów Cassandra.
  2. Przebuduj 3 nowe węzły Cassandra, podając nazwę regionu jako centrum danych, w którym dodajesz węzeł (dc-1, dc-2 itd.). W tym przykładzie jest to dc-1:
    1. Na pierwszym węźle uruchom:
      /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h nodeIP rebuild dc-1

      gdzie nodeIP to adres IP węzła Cassandra.

      Nazwę użytkownika i hasło musisz podać tylko wtedy, gdy uwierzytelnianie JMX jest włączone w Cassandrze.

    2. Powtórz ten krok na pozostałych nowych węzłach Cassandra.

Ponowne konfigurowanie serwera zarządzania

Na węźle serwera zarządzania

  1. Uruchom ponownie skrypt setup.sh, aby zaktualizować serwer zarządzania dla nowo dodanych węzłów Cassandra:
    /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updatedConfigFile

Ponowne uruchamianie wszystkich routerów i procesorów komunikatów

  1. Na wszystkich routerach:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  2. Na wszystkich procesorach komunikatów:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Zwolnij miejsce na dysku w istniejących węzłach Cassandra.

Po dodaniu nowego węzła możesz użyć polecenia nodetool cleanup na istniejących węzłach, aby zwolnić miejsce na dysku. To polecenie czyści tokeny konfiguracji, które nie należą już do istniejącego wcześniej węzła Cassandra.

Aby zwolnić miejsce na dysku w istniejących węzłach Cassandra po dodaniu nowego węzła, wykonaj to polecenie:

/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup

Nazwę użytkownika i hasło musisz podać tylko wtedy, gdy uwierzytelnianie JMX jest włączone w Cassandrze.

Sprawdź ponowną kompilację

Aby sprawdzić, czy ponowne tworzenie zakończyło się powodzeniem, użyj tych poleceń:

nodetool [-u username -pw password] -h nodeIP netstats

To polecenie powinno wskazywać MODE: Normal, gdy węzeł jest aktywny, a indeksy są utworzone.

nodetool [-u username -pw password] -h nodeIP statusthrift

Powinien wskazywać, że serwer Thrift jest uruchomiony, co pozwala Cassandrze akceptować nowe żądania klientów.

nodetool [-u username -pw password] -h nodeIP statusbinary

Powinien wskazywać, że transport natywny (lub protokół binarny) jest uruchomiony.

nodetool [-u username -pw password] -h nodeIP describecluster

Powinno być widoczne, że nowe węzły używają tej samej wersji schematu co starsze węzły.

Więcej informacji o korzystaniu z nodetool znajdziesz w dokumentacji dotyczącej korzystania z nodetool.