Dodawanie węzłów Cassandra

Z tego dokumentu dowiesz się, jak dodać 3 nowe węzły Cassandra do istniejącej instalacji Edge for Private Cloud.

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

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

Istniejąca konfiguracja Edge

Wszystkie obsługiwane topologie Edge w przypadku systemu produkcyjnego wymagają użycia 3 węzłów Cassandra. Właściwość CASS_HOSTS w pliku konfiguracyjnym ma 3 węzły, 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

Pamiętaj, że w polu właściwości REGION nazwa regionu to „dc-1”. Potrzebujesz tych informacji podczas dodawania nowych węzłów Cassandra.

zmodyfikować plik konfiguracji, aby dodać 3 nowe węzły Cassandra;

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

  • 10.10.0.14
  • 10.10.0.15
  • 10.10.0.16

Aby dodać nowe węzły, musisz najpierw zaktualizować plik konfiguracji Edge:

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 tokena, a początkowy token każdego nowego węzła będzie znajdować się między wartościami tokenów dotychczasowych węzłów.

Konfigurowanie Edge

Po zmodyfikowaniu pliku konfiguracji:

  • Skonfiguruj ponownie istniejące węzły Cassandra
  • Instalowanie systemu Cassandra na nowych węzłach
  • Ponowna konfiguracja serwera zarządzania

Skonfiguruj ponownie istniejące węzły Cassandra

Na istniejących węzłach Cassandra:

  1. Ponownie uruchom plik setup.sh z profilem „-p c” i nowym plikiem konfiguracji:
    /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile

Instalowanie systemu Cassandra na nowych węzłach

Aby zainstalować 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 instrukcjami w artykule Instalowanie narzędzia do konfiguracji apigee w Edge.
    2. Zainstaluj Cassandra na 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 kroki w przypadku pozostałych nowych węzłów Cassandra.
  2. Utwórz ponownie 3 nowe węzły Cassandra, podając nazwę regionu jako centrum danych, do którego 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 usługa Cassandra ma włączone uwierzytelnianie JMX.

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

Ponowna konfiguracja serwera zarządzania

Na węźle serwera zarządzania

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

Ponownie uruchom wszystkie routery i procesory wiadomości

  1. W przypadku wszystkich routerów:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  2. W przypadku wszystkich procesorów wiadomości:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Wolne 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 już węzłach, aby zwolnić miejsce na dysku. To polecenie usuwa tokeny konfiguracji, które nie są już własnością wcześniej utworzonego węzła Cassandra.

Aby zwolnić miejsce na dysku na już 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 usługa Cassandra ma włączone uwierzytelnianie JMX.

Sprawdzanie odtwarzania

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

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

To polecenie wskazuje MODE: Normal, gdy węzeł jest uruchomiony, a indeksy zostały utworzone.

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

To polecenie pokazuje, że serwer Thrift działa, co pozwala usłudze Cassandra przyjmować nowe żądania klienta.

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

To polecenie wskazuje, czy usługa natywnych transportów (czyli binarnego protokołu) jest uruchomiona.

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

To polecenie pokazuje, czy nowe węzły używają tej samej wersji schematu co starsze węzły.

Więcej informacji o używaniu narzędzia nodetool znajdziesz w dokumentacji dotyczącej nodetool.