Comment installer Cassandra Cluster sur plusieurs nœuds

⚡ Résumé intelligent

Cassandra Cluster Un cluster regroupe plusieurs nœuds afin de répartir les données et d'éviter qu'une seule machine ne les héberge toutes. Cette page explique les composants du cluster, le partitionneur et l'anneau à jeton, les prérequis, les paramètres de configuration permettant de joindre les nœuds et comment vérifier le résultat.

  • 🧩 Cluster Structure: Les nœuds forment des centres de données, et les centres de données forment un cluster qui se comporte comme une seule base de données.
  • (I.e. Rôle du partitionneur : Le hachage de la clé de partition produit un jeton, et ce jeton détermine quel nœud stocke la ligne.
  • 🌱 Nœuds de départ : Les nœuds de départ sont les points de contact avec lesquels un nouveau nœud échange d'abord des informations ; ce ne sont pas des nœuds maîtres.
  • ⚙️ Paramètres clés : Les paramètres cluster_name, seeds, listen_address et rpc_address doivent être définis de manière cohérente dans cassandra.yaml.
  • 🚀 Commande de démarrage : Commencez par les nœuds d'amorçage, un à la fois, puis ajoutez les nœuds restants.
  • Vérification: L'outil nodetool status devrait afficher chaque nœud comme UN avec une répartition des parts à peu près égale.

installation Cassandra Cluster sur plusieurs nœuds

Qu'est-ce que le Cassandra Cluster?

A Cassandra le cluster est l'une des coquilles de l'ensemble Cassandra base de données. Les Cassandra Le cluster contient de nombreuses couches différentes d'unités de stockage, et chaque couche contient l'autre.

Une grande organisation telle que AmazonFacebook, etc., doivent gérer d'énormes quantités de données. Ces organisations ne peuvent donc pas stocker ces volumes considérables de données sur une seule machine. C'est pourquoi elles utilisent des bases de données comme… Cassandra avec une architecture distribuée.

Ces organisations stockent cette énorme quantité de données sur plusieurs nœuds. Ces nœuds communiquent entre eux. À cette fin, Cassandra le cluster est établi.

  • Cluster Il s'agit essentiellement d'un groupe de nœuds, permettant à ces nœuds de communiquer facilement entre eux.
  • Le nœud coordinateur reçoit une requête client et communique avec les répliques pour le compte de ce client. N'importe quel nœud peut jouer le rôle de coordinateur pour n'importe quelle requête.

Partitionneur

Un partitionneur détermine comment les données doivent être distribuées sur le cluster. Le partitionneur utilise une fonction de hachage pour distribuer les données sur le cluster. Il faut une clé de partition pour calculer le hachage. Ce hachage s'appelle jeton. Les données sont distribuées sur la base de ce jeton.

Le partitionneur par défaut est Murmur3Partitioner, qui produit des jetons répartis uniformément sur une plage fixe. Chaque nœud possède une ou plusieurs plages de cette plage, et l'ensemble des plages forme le anneau à jetons. Étant donné que l'affectation se fait par hachage plutôt que par valeur, l'ajout d'un nœud ne déplace que les plages qu'il occupe au lieu de remanier l'ensemble des données.

Prérequis pour Cassandra Cluster

Les exigences suivantes sont requises pour la configuration du cluster.

  1. Vous devriez disposer de plusieurs machines, physiques ou virtuelles, faisant office de nœuds.
  2. Les nœuds doivent pouvoir communiquer entre eux sur le réseau. Les ports 7000 (pour le trafic inter-nœuds), 7001 (si TLS est activé) et 9042 (pour les connexions client) doivent être ouverts.
  3. Linux doit être installé sur chaque nœud. C'est la plateforme. Cassandra est testé et pris en charge sur.
  4. Apache Cassandra Le logiciel doit être installé sur chaque nœud, dans la même version. Des versions différentes ne permettent pas de respecter le schéma.
  5. Un soutien JDK doit être installé sur chaque machine, avec JAVA_HOME défini.
  6. Les horloges doivent être synchronisées avec NTP. Cassandra résout les conflits d'écriture par horodatage, de sorte que la dérive de l'horloge produit silencieusement des résultats erronés.

La dernière condition est celle qui est le plus souvent négligée, et elle provoque des problèmes de données plutôt que des échecs de démarrage.

.

Comment faire pour installer Cassandra Cluster sur Linux

Cassandra Il est indispensable de l'installer sur chaque machine avant qu'elle puisse rejoindre un cluster. Les captures d'écran ci-dessous proviennent de l'installateur graphique de DataStax Enterprise, méthode courante lors de la rédaction de ce guide. Cet installateur n'étant plus distribué à la communauté, la méthode actuelle est présentée en premier, suivie de l'assistant à titre de référence.

Méthode actuelle : installer la Apache Cassandra Déposez le paquet ou l'archive binaire sur chaque nœud de manière identique, puis vérifiez que chacun démarre individuellement avant de tenter de les joindre.

tar -xzf apache-cassandra-x.y.z-bin.tar.gz -C /opt/
export CASSANDRA_HOME=/opt/apache-cassandra-x.y.z
$CASSANDRA_HOME/bin/cassandra -f

Une fois qu'un nœud a démarré correctement, arrêtez-le, effacez son répertoire de données et passez à la section de configuration du cluster ci-dessous.

Étape 1) Exécutez le Cassandra Configuration de l'édition entreprise. Sur Linux Dans le terminal, exécutez le programme d'installation. La page suivante s'affichera.

Installer Cassandra Cluster sur Linux

Cette page ne fournit aucune information nécessaire. Il fournit simplement des informations sur le Cassandra version. Alors passez cette page et appuyez sur le bouton suivant.

Étape 2) Acceptez le contrat de licence. Après avoir cliqué sur le bouton Suivant, la page suivante s'affichera.

Installer Cassandra Cluster sur Linux

Cette page fournit des informations sur les packages et sous-packages du Cassandra Ce logiciel va être installé. Un message concernant la licence s'affichera ensuite. Cochez la case « J'accepte le contrat » et cliquez sur « Suivant ».

Étape 3) Installez Builder et cliquez sur Suivant. Après avoir cliqué sur le bouton Suivant, la page suivante s'affichera.

Installer Cassandra Cluster sur Linux

Cette page vous pose des questions sur les options d'installation.

  1. Tout d'abord, il vous demandera le répertoire d'installation. Par défaut, il est installé dans le répertoire personnel.
  2. Ensuite, il vous demande quel type d'installation, sélectionnez Installation simple.
  3. Ensuite, il pose des questions sur le système de mise à jour, cochez « non ».
  4. Ensuite, il vous demande de choisir l'interface par défaut. Deux options s'offrent à vous : installer sur l'hôte local ou sélectionner une adresse IP. Choisissez l'adresse IP pour l'installation.
  5. Appuyez sur le bouton suivant.

Étape 4) Configurez le nœud et cliquez sur Suivant. Après avoir cliqué sur le bouton Suivant, la page suivante s'affichera.

Installer Cassandra Cluster sur Linux

Cette page pose des questions sur la configuration du nœud.

  1. Tout d'abord, sélectionnez le type de nœud «Cassandra Nœud'.
  2. Ensuite, dans Nom de l’anneau, indiquez le nom de votre cluster. Cluster le nom doit être le même pour tous les nœuds du même cluster.
  3. Ensuite, sélectionnez le nœud de départ. Le nœud de départ est celui que les autres nœuds contactent à leur démarrage.
  4. Après avoir fourni ces informations, appuyez sur le bouton suivant.

Étape 5) Installez l'agent de surveillance. Après avoir cliqué sur le bouton Suivant, la page suivante s'affichera. Cette page vous demandera l'adresse IP sur laquelle l'agent doit être installé.

  1. Cet agent est nécessaire pour la console de surveillance, où tous les nœuds peuvent être observés depuis un seul endroit.
  2. Après avoir fourni ces informations, appuyez sur le bouton suivant.

Installer Cassandra Cluster sur Linux

Étape 6) Appuyez sur Suivant pour l'installation. Après avoir appuyé sur le bouton Suivant, la page suivante s'affichera.

Installer Cassandra Cluster sur Linux

Le programme d'installation est maintenant prêt à être installé. Appuyez sur le bouton suivant.

Étape 7) Veuillez patienter pendant l'installation. Après avoir cliqué sur le bouton Suivant, la page suivante s'affichera.

Installer Cassandra Cluster sur Linux

L'installation va commencer.

Étape 8) Cliquez sur le bouton Terminer. Une fois l'installation terminée, la page suivante s'affichera. Sur cette même page, vous verrez la coche de l'option activée par défaut.

Installer Cassandra Cluster sur Linux

Configuration du fichier cassandra.yaml pour joindre les nœuds

L'installation seule ne crée pas un cluster. Les nœuds ne se détectent mutuellement que lorsque quatre paramètres du fichier cassandra.yaml concordent, et c'est dans ce fichier que la plupart des configurations de cluster échouent.

cluster_name: 'Guru99 Cluster'
seed_provider:
  - class_name: org.apache.cassandra.locator.SimpleSeedProvider
    parameters:
      - seeds: "192.168.1.10,192.168.1.11"
listen_address: 192.168.1.10
rpc_address: 0.0.0.0
broadcast_rpc_address: 192.168.1.10
endpoint_snitch: GossipingPropertyFileSnitch
  • nom_cluster La correspondance doit être parfaite sur chaque nœud. Une non-correspondance est la cause la plus fréquente du refus d'un nœud de rejoindre l'association.
  • graines liste les points de contact avec lesquels un nœud initial communique. Deux ou trois nœuds initiaux par centre de données suffisent ; faire de chaque nœud un nœud initial empêche l’amorçage automatique.ping.
  • adresse_d'écoute Il s'agit de l'adresse utilisée par les autres nœuds pour accéder à celui-ci. Ce doit être une adresse routable valide, jamais « localhost ».
  • endpoint_snitch raconte Cassandra Agencement des racks et du centre de données. GossipingPropertyFileSnitch est le choix habituel, avec des valeurs définies dans cassandra-rackdc.properties.

Modifier le nom du nœud de détection ou du cluster après l'existence des données nécessite des étapes supplémentaires ; il convient donc de décider des deux avant le démarrage du premier nœud.

À partir de Cassandra Nœud

Après l'installation de Cassandra Sur chaque nœud, démarrez les serveurs et suivez les étapes ci-dessous. L'ordre est important : démarrez d'abord les nœuds d'amorçage, un à la fois, en attendant que chacun soit opérationnel avant de démarrer le suivant. Démarrer plusieurs nœuds simultanément peut entraîner des conflits de plage de jetons.

Étape 1) Rendez-vous dans la section Cassandra répertoire d'installation et démarrer le serveur.

bin/cassandra -f

À partir de  Cassandra Nœud

En exécutant cette commande, le Cassandra Le serveur va démarrer. Voici une capture d'écran où… Cassandra Le serveur démarre.

À partir de  Cassandra Nœud

Le serveur sera opérationnel au bout d'une minute environ. Démarrez chaque serveur de nœud un par un. Une fois tous les serveurs de nœud démarrés, votre Cassandra le cluster est prêt à être utilisé.

Étape 2) Vérifiez que chaque nœud a bien rejoint l'anneau en consultant l'anneau depuis n'importe lequel d'entre eux.

nodetool status
nodetool describecluster

Chaque nœud devrait apparaître avec un statut UNCela signifie « actif » et « normal », et la colonne « Possède » devrait afficher des pourcentages à peu près égaux. Une seule version de schéma dans la sortie de `describecluster` confirme que tous les nœuds utilisent le même schéma.

La plupart des pannes se caractérisent par trois symptômes. Un nœud qui n'apparaît jamais présente généralement un nom de cluster incorrect ou un port 7000 bloqué. Un nœud bloqué à UJLe processus en cours de connexion est toujours en cours de diffusion de données et nécessite simplement du temps sur un cluster de grande taille. La répartition très inégale des parts de propriété indique une erreur de configuration du nœud Snitch, probablement dû à un placement incorrect des nœuds dans une baie ou un centre de données.

Lorsque l'anneau est sain, les paramètres de réplication de chaque espace de clés déterminent la manière dont les données s'y répartissent, comme décrit dans le Cassandra espace de clés tutoriel et le Cassandra architecture panne.

FAQ

Trois, ce qui correspond au facteur de réplication standard de trois. Cela permet aux opérations de lecture et d'écriture QUORUM de se poursuivre même lorsqu'un nœud est indisponible pour maintenance ou en cas de panne.

Non. Les nœuds d'amorçage servent uniquement de points de contact lors du démarrage et de la communication. Ils stockent des données comme n'importe quel autre nœud, et leur perte n'affecte pas le fonctionnement du cluster.

Installez la même version, configurez-la avec les jetons existants et démarrez-la. Elle s'initialise automatiquement en diffusant ses plages de jetons. Exécutez ensuite la commande `nodetool cleanup` sur les autres nœuds.

En fonction du volume de données, du facteur de réplication et des objectifs de débit, l'IA propose un nombre de nœuds initial raisonnable. Il est recommandé de le valider par un test de charge, car les surcharges liées à la compaction et à la réparation dépendent de la charge de travail.

Oui. Fournir le fichier system.log en plus du fichier cassandra.yaml permet généralement d'identifier rapidement la cause, le plus souvent une incompatibilité de nom de cluster, un port bloqué ou une adresse d'écoute laissée à localhost.

Résumez cet article avec :