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:
- 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:
- Installieren Sie Cassandra auf den drei Knoten:
- Installieren Sie
apigee-setup
auf dem ersten Knoten, wie unter Edge apigee-setup-Dienstprogramm installieren beschrieben. - Installieren Sie Cassandra auf dem ersten Knoten mit der aktualisierten Konfigurationsdatei:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
- Wiederholen Sie diese beiden Schritte für die restlichen neuen Cassandra-Knoten.
- Installieren Sie
- 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 dasdc-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.
- Wiederholen Sie diesen Schritt auf den verbleibenden neuen Cassandra-Knoten.
- Führen Sie auf dem ersten Knoten Folgendes aus:
Verwaltungsserver neu konfigurieren
Auf einem Management-Serverknoten
- 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
- Auf allen Routern:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- 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.