Cassandra-Knoten hinzufügen

Wenn Sie einem Cluster Cassandra-Knoten hinzufügen, sollten Sie die folgenden beiden wichtigen Punkte berücksichtigen:

  • Die Positionen der Knoten im Cassandra-Ring sollten nicht geändert werden, um das Streaming zu minimieren und einen ausgewogenen Ring beizubehalten.
  • Die Anzahl der Knoten in allen Rechenzentren muss gleich bleiben.

Um das erste Ziel zu erreichen, ist es wichtig, die Anzahl der Knoten im Cassandra-Cluster jedes Mal zu verdoppeln, wenn Sie neue Knoten hinzufügen.

Wenn Sie beispielsweise mit einer Standardtopologie für eine Clusterinstallation mit 12 Knoten beginnen, die auf zwei Rechenzentren verteilt ist, haben Sie insgesamt sechs Cassandra-Knoten – drei in jedem Rechenzentrum. Wenn Sie diesen Cluster erweitern möchten, sollten Sie jedem Rechenzentrum drei Knoten hinzufügen, sodass die Gesamtzahl der Knoten auf 12 (6 Knoten in jedem Rechenzentrum) ansteigt. Wenn eine weitere Erweiterung erforderlich ist, sollten Sie jedem Rechenzentrum sechs weitere Knoten hinzufügen. Die Gesamtzahl der Knoten beträgt dann 24 (12 Knoten in jedem Rechenzentrum).

In diesem Dokument wird beschrieben, wie Sie einer vorhandenen Edge for Private Cloud-Installation drei neue Cassandra-Knoten hinzufügen. Die gleichen Schritte können auch ausgeführt werden, um weitere Knoten hinzuzufügen. Achten Sie bei der Erweiterung Ihres Clusters darauf, die Anzahl der Knoten zu verdoppeln.

Eine Liste der Systemanforderungen für einen Cassandra-Knoten finden Sie im Abschnitt Installationsanforderungen.

Vorhandene Edge-Konfiguration

Für alle unterstützten Edge-Topologien für ein Produktionssystem werden drei Cassandra-Knoten verwendet. Die drei Knoten werden in der Konfigurationsdatei der Eigenschaft CASS_HOSTS wie unten gezeigt angegeben:

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

Beachten Sie, dass in der REGION-Eigenschaft der Regionsname als „dc-1“ angegeben ist. Sie benötigen diese Informationen, wenn Sie die neuen Cassandra-Knoten hinzufügen.

Konfigurationsdatei ändern, um die drei neuen Cassandra-Knoten hinzuzufügen

In diesem Beispiel haben die drei neuen Cassandra-Knoten die folgenden IP-Adressen:

  • 10.10.0.14
  • 10.10.0.15
  • 10.10.0.16

Sie müssen zuerst die Edge-Konfigurationsdatei aktualisieren, um die neuen Knoten hinzuzufügen:

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" 

So behalten die vorhandenen Knoten ihre ursprünglichen Tokeneinstellungen bei und das initiale Token jedes neuen Knotens liegt zwischen den Tokenwerten der vorhandenen Knoten.

Edge konfigurieren

Nachdem Sie die Konfigurationsdatei bearbeitet haben, müssen Sie Folgendes tun:

  • Vorhandene Cassandra-Knoten neu konfigurieren
  • Cassandra auf den neuen Knoten installieren
  • Verwaltungsserver neu konfigurieren

Vorhandene Cassandra-Knoten neu konfigurieren

Auf den vorhandenen Cassandra-Knoten:

  1. Führen Sie setup.sh noch einmal mit dem Profil „-p c“ und der neuen Konfigurationsdatei aus:
    /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile

Cassandra auf den neuen Knoten installieren

Installieren Sie Cassandra mit der folgenden Anleitung auf den neuen Knoten.

Auf jedem neuen Cassandra-Knoten:

  1. Installieren Sie Cassandra auf den drei Knoten:
    1. Installieren Sie apigee-setup auf dem ersten Knoten, wie unter Edge apigee-setup-Dienstprogramm installieren beschrieben.
    2. Installieren Sie Cassandra auf dem ersten Knoten mit der aktualisierten Konfigurationsdatei:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
    3. Wiederholen Sie diese beiden Schritte für die restlichen neuen Cassandra-Knoten.
  2. Erstellen Sie die drei neuen Cassandra-Knoten neu und geben Sie als Regionsnamen das Rechenzentrum an, in dem Sie den Knoten hinzufügen (dc-1, dc-2 usw.). In diesem Beispiel ist das dc-1:
    1. Führen Sie auf dem ersten Knoten Folgendes aus:
      /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h nodeIP rebuild dc-1

      Dabei ist nodeIP die IP-Adresse des Cassandra-Knotens.

      Sie müssen nur Ihren Nutzernamen und Ihr Passwort übergeben, wenn Sie die JMX-Authentifizierung für Cassandra aktiviert haben.

    2. Wiederholen Sie diesen Schritt auf den verbleibenden neuen Cassandra-Knoten.

Verwaltungsserver neu konfigurieren

Auf einem Management-Serverknoten

  1. Führen Sie setup.sh noch einmal aus, um den Verwaltungsserver für die neu hinzugefügten Cassandra-Knoten zu aktualisieren:
    /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updatedConfigFile

Alle Router und Message Processors neu starten

  1. Auf allen Routern:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  2. Auf allen Nachrichtenverarbeitern:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Freien Speicherplatz auf vorhandenen Cassandra-Knoten

Nachdem Sie einen neuen Knoten hinzugefügt haben, können Sie mit dem Befehl nodetool cleanup auf den vorhandenen Knoten Speicherplatz freigeben. Mit diesem Befehl werden Konfigurationstokens gelöscht, die nicht mehr dem vorhandenen Cassandra-Knoten gehören.

Führen Sie den folgenden Befehl aus, um nach dem Hinzufügen eines neuen Knotens Speicherplatz auf vorhandenen Cassandra-Knoten freizugeben:

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

Sie müssen nur Ihren Nutzernamen und Ihr Passwort übergeben, wenn Sie die JMX-Authentifizierung für Cassandra aktiviert haben.

Neuaufbau prüfen

Mit den folgenden Befehlen können Sie prüfen, ob die Neuerstellung erfolgreich war:

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

Mit diesem Befehl wird MODE: Normal angezeigt, wenn der Knoten aktiv ist und die Indexe erstellt wurden.

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

Dieser Befehl zeigt, dass der Thrift-Server ausgeführt wird, sodass Cassandra neue Clientanfragen annehmen kann.

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

Dieser Befehl gibt an, ob der native Transport (oder das Binärprotokoll) ausgeführt wird.

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

Dieser Befehl gibt an, ob die neuen Knoten dieselbe Schemaversion wie die älteren Knoten verwenden.

Weitere Informationen zur Verwendung von nodetool finden Sie in der Dokumentation zur Verwendung von nodetool.