Dodawanie węzłów Cassandra

Edge for Private Cloud w wersji 4.17.09

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:

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" 

Ważne: dodaj każdy nowy węzeł Cassandra do CASS_HOSTS po istniejącym węźle.

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.

Skonfiguruj Edge

Po zmodyfikowaniu pliku konfiguracji:

  • Ponowna konfiguracja istniejących węzłów Cassandra
  • Instalowanie systemu Cassandra w nowych węzłach
  • Ponowna konfiguracja serwera zarządzania

Skonfiguruj ponownie istniejące węzły Cassandra

W 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

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 podanymi w artykule Instalowanie narzędzia apigee-setup w usłudze 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 ustawioną w pliku konfiguracji za pomocą właściwości REGION. W tym przykładzie ma ona postać „dc-1”:
    1. W pierwszym węźle uruchom polecenie:
      > /opt/apigee/apigee-cassandra/bin/nodetool -h nodeIP rebuild dc-1

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

    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ądzania 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. Na wszystkich routerach:
    > /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  2. Na wszystkich procesorach wiadomości:
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

zwolnienie pamięci na istniejących węzłach Cassandra,

Na istniejących węzłach Cassandra uruchom polecenie nodetool cleanup, aby zwolnić pamięć:

> /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP cleanup