Ajouter des nœuds Cassandra

Lorsque vous ajoutez des nœuds Cassandra à un cluster, il est essentiel de prendre en compte les deux points clés suivants:

  • Les positions existantes des nœuds dans le cercle Cassandra ne doivent pas changer pour minimiser le streaming et maintenir un cercle équilibré.
  • Le nombre de nœuds dans tous les centres de données doit rester cohérent.

Pour atteindre le premier objectif, il est essentiel de doubler le nombre de nœuds du cluster Cassandra chaque fois que vous en ajoutez.

Par exemple, si vous commencez avec une topologie d'installation de cluster à 12 nœuds standard répartie sur deux centres de données, vous disposerez d'un total de six nœuds Cassandra, trois dans chaque centre de données. Pour développer ce cluster, vous devez ajouter trois nœuds à chaque centre de données, ce qui porte le nombre total de nœuds à 12 (six nœuds dans chaque centre de données). Si une extension supplémentaire est nécessaire, vous devez ajouter six nœuds supplémentaires à chaque centre de données, ce qui porte le nombre total de nœuds à 24 (12 nœuds dans chaque centre de données).

Ce document fournit des instructions pour ajouter trois nouveaux nœuds Cassandra à une installation Edge pour le cloud privé existante. Vous pouvez suivre la même procédure pour ajouter d'autres nœuds. Lorsque vous développez votre cluster, veillez toujours à doubler le nombre de nœuds.

Pour obtenir la liste des conditions requises pour un nœud Cassandra, consultez la section Conditions requises pour l'installation.

Configuration Edge existante

Toutes les topologies Edge compatibles pour un système de production spécifient l'utilisation de trois nœuds Cassandra. Les trois nœuds sont spécifiés dans la propriété CASS_HOSTS du fichier de configuration, comme indiqué ci-dessous:

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

Notez que la propriété REGION spécifie le nom de la région comme "dc-1". Vous aurez besoin de ces informations lorsque vous ajouterez les nouveaux nœuds Cassandra.

Modifier le fichier de configuration pour ajouter les trois nouveaux nœuds Cassandra

Dans cet exemple, les trois nouveaux nœuds Cassandra se trouvent aux adresses IP suivantes:

  • 10.10.0.14
  • 10.10.0.15
  • 10.10.0.16

Vous devez d'abord mettre à jour le fichier de configuration d'Edge pour ajouter les nouveaux nœuds:

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" 

Cela garantit que les nœuds existants conservent leurs paramètres de jeton initial, et que le jeton initial de chaque nouveau nœud se situe entre les valeurs de jeton des nœuds existants.

Configurer Edge

Après avoir modifié le fichier de configuration, vous devez:

  • Reconfigurer les nœuds Cassandra existants
  • Installer Cassandra sur les nouveaux nœuds
  • Reconfigurer le serveur de gestion

Reconfigurer les nœuds Cassandra existants

Sur les nœuds Cassandra existants:

  1. Exécutez à nouveau setup.sh avec le profil "-p c" et le nouveau fichier de configuration:
    /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile

Installer Cassandra sur les nouveaux nœuds

Suivez la procédure ci-dessous pour installer Cassandra sur les nouveaux nœuds.

Sur chaque nouveau nœud Cassandra:

  1. Installez Cassandra sur les trois nœuds :
    1. Installez apigee-setup sur le premier nœud, comme décrit dans la section Installer l'utilitaire apigee-setup Edge.
    2. Installez Cassandra sur le premier nœud à l'aide du fichier de configuration mis à jour:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
    3. Répétez ces deux étapes pour les autres nouveaux nœuds Cassandra.
  2. Recréez les trois nouveaux nœuds Cassandra, en spécifiant le nom de la région comme étant le centre de données dans lequel vous ajoutez le nœud (dc-1, dc-2, etc.). Dans cet exemple, il s'agit de dc-1 :
    1. Sur le premier nœud, exécutez la commande suivante:
      /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h nodeIP rebuild dc-1

      nodeIP est l'adresse IP du nœud Cassandra.

      Vous n'avez besoin de transmettre votre nom d'utilisateur et votre mot de passe que si vous avez activé l'authentification JMX pour Cassandra.

    2. Répétez cette étape sur les autres nouveaux nœuds Cassandra.

Reconfigurer le serveur de gestion

Sur un nœud de serveur de gestion

  1. Exécutez à nouveau setup.sh pour mettre à jour le serveur de gestion pour les nouveaux nœuds Cassandra:
    /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updatedConfigFile

Redémarrer tous les routeurs et les processeurs de messages

  1. Sur tous les routeurs:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  2. Sur tous les processeurs de messages:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Espace disque disponible sur les nœuds Cassandra existants

Après avoir ajouté un nœud, vous pouvez utiliser la commande nodetool cleanup sur les nœuds préexistants pour libérer de l'espace disque. Cette commande efface les jetons de configuration qui ne sont plus la propriété du nœud Cassandra préexistant.

Pour libérer de l'espace disque sur les nœuds Cassandra préexistants après avoir ajouté un nœud, exécutez la commande suivante:

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

Vous n'avez besoin de transmettre votre nom d'utilisateur et votre mot de passe que si vous avez activé l'authentification JMX pour Cassandra.

Vérifier la recompilation

Utilisez les commandes suivantes pour vérifier que la recompilation a réussi:

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

Cette commande indique si le transport natif (ou protocole binaire) est en cours d'exécution, ce qui permet à Cassandra d'accepter de nouvelles requêtes client.

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

Cette commande indique si le transport natif (ou protocole binaire) est en cours d'exécution.

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

Cette commande indique si les nouveaux nœuds utilisent la même version de schéma que les anciens.

Pour en savoir plus sur l'utilisation de nodetool, consultez la documentation sur l'utilisation de nodetool.