Dodawanie węzłów Cassandra

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

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

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

Istniejąca konfiguracja brzegowa

Wszystkie obsługiwane topologie brzegowe systemu produkcyjnego określają 3 węzły Cassandra. Te 3 węzły są określone dla właściwości CASS_HOSTS w pliku konfiguracyjnym, 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łaściwość REGION określa nazwę regionu jako „dc-1”. Te informacje są potrzebne podczas dodawania nowych węzłów Cassandra.

Zmodyfikowanie pliku konfiguracyjnego w celu dodania 3 nowych węzłów Cassandra

W tym przykładzie 3 nowe węzły Cassandra znajdują się pod tymi adresami 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ą swoje początkowe ustawienia tokenów, a początkowy token każdego nowego węzła znajdzie się między wartościami tokenów istniejących węzłów.

Skonfiguruj Edge

Po zmodyfikowaniu pliku konfiguracyjnego musisz wykonać te czynności:

  • Ponownie skonfiguruj istniejące węzły Cassandra
  • Zainstaluj Cassandra w nowych węzłach
  • Ponowne konfigurowanie serwera zarządzania

Ponownie skonfiguruj istniejące węzły Cassandra

W istniejących węzłach Cassandra:

  1. Ponownie uruchom plik setup.sh, używając profilu „-p c” i nowego pliku konfiguracyjnego:
    /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile

Zainstaluj Cassandra w nowych węzłach

Aby zainstalować Cassandra w nowych węzłach, wykonaj poniższą procedurę.

W każdym nowym węźle Cassandra:

  1. Zainstaluj Cassandra w 3 węzłach:
    1. Zainstaluj apigee-setup w pierwszym węźle zgodnie z opisem w sekcji Instalowanie narzędzia Edge apigee-setup.
    2. Zainstaluj Cassandra w pierwszym węźle, używając zaktualizowanego pliku konfiguracyjnego:
      /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. W pierwszym węźle uruchom polecenie
      /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 masz włączone uwierzytelnianie JMX w systemie Cassandra.

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

Ponowne konfigurowanie serwera zarządzania

W 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. Wszystkie procesory 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 zwolnić miejsce na dysku za pomocą polecenia nodetool cleanup w istniejących węzłach. To polecenie czyści tokeny konfiguracji, które nie należą już do istniejącego węzła Cassandra.

Aby po dodaniu nowego węzła zwolnić miejsce na dysku w istniejących węzłach Cassandra, 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 masz włączone uwierzytelnianie JMX w systemie Cassandra.

Zweryfikuj ponowne utworzenie

Za pomocą tych poleceń sprawdź, czy odbudowanie się udało:

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

To polecenie powinno wskazywać MODE: Normal, gdy węzeł jest aktywny i indeksy są już skompilowane.

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

Powinien wskazywać, że serwer thrift jest uruchomiony, co pozwala Cassandra na przyjmowanie nowych żądań klientów.

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

Powinien wskazywać, że działa natywny protokół transportowy (lub protokół binarny).

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

Powinna pokazywać się informacja, że nowe węzły używają tej samej wersji schematu co starsze węzły.

Więcej informacji o korzystaniu z narzędzia nodetool znajdziesz w dokumentacji korzystania z węzła.