Dodawanie węzłów Cassandra

Edge for Private Cloud w wersji 4.19.01

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

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. Ponownie utwórz 3 nowe węzły Cassandra, podając nazwę regionu ustawioną w pliku konfiguracyjnym przez właściwość REGION. 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 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.