GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer le cluster Apache Cassandra sur Linux

Apache Cassandra est un système de gestion de base de données distribué NoSQL gratuit et open-source créé par Facebook (maintenant Meta). La nature distribuée de Cassandra permet une haute disponibilité et des performances élevées sans point de défaillance unique.

En raison de son évolutivité, Cassandra convient aux ensembles de données actifs et critiques massifs. De grandes et célèbres organisations telles qu'Apple, Bloomberg, BestBuy, eBay, Netflix, Spotify et bien d'autres. Et si vous souhaitez connaître Apache Cassandra, vous êtes au bon endroit.

Dans cet article, vous allez apprendre à installer et à configurer un cluster Apache Cassandra sur les systèmes Linux. Vous apprendrez également à interagir avec Cassandra à l'aide de ses outils de ligne de commande.

Prérequis

Pour suivre les exemples de ce didacticiel, assurez-vous d'avoir les exigences suivantes en place.

  • Vous aurez besoin de deux serveurs Linux sur le même réseau. Ce didacticiel utilisera deux serveurs Rocky Linux (v8.5) avec les détails suivants.
Nom d'hôte Adresse IP
cassandre01 172.16.1.10
cassandre02 172.16.1.15

La documentation d'Apache Cassandra ne fournit pas de liste normative des distributions Linux compatibles, mais mentionne que Cassandra peut fonctionner sur CentOS, RHEL, Debian et SUSE Enterprise Linux.

  • Vous devez disposer des privilèges sudo ou accéder au compte root.
  • Éditeur de texte nano ou tout éditeur de texte basé sur Linux.

Installer Java OpenJDK et Python

Avant de vous lancer dans l'installation d'Apache Cassandra, vous devez d'abord installer les dépendances logicielles. Cassandra est une application basée sur Java, et la dernière version (v4.0 à ce jour) nécessite Java OpenJDK 1.8 et Python 3.6.

Ce didacticiel utilise le gestionnaire de packages DNF pour les distributions Linux basées sur RPM. Vous pouvez également utiliser Yum ou Apt sur des distributions basées sur DEB comme Ubuntu et Debian. Reportez-vous à la documentation de votre distribution pour déterminer quel gestionnaire de packages utiliser.

Suivez les étapes ci-dessous pour installer Java OpenJDK 1.8 et Python 3.6 sur chaque serveur.

1. Ouvrez votre client SSH, connectez-vous à votre serveur et exécutez le sudo su commande pour devenir root.

ssh [email protected]_name_or_IP
sudo su

2. Ensuite, exécutez le dnf commande ci-dessous pour installer les packages Java OpenJDK 1.8 et Python 3.6. Attendez que l'installation soit terminée.

dnf install java-1.8.0-openjdk python36 -y

3. Maintenant, vérifiez la version Java en exécutant la commande ci-dessous.

java -version

Ci-dessous, vous pouvez voir que la version actuelle de Java OpenJDK est 1.8.0_312.

4. Ensuite, configurez l'interpréteur Python par défaut sur vos serveurs sur Python 3.6. Pour ce faire, exécutez le alternatives commande comme ci-dessous.

alternatives --config python

Tapez le numéro correspondant à votre version de Python à l'invite de sélection de commande. L'exemple ci-dessous montre que Python3 est l'option 2.

5. Enfin, exécutez la commande suivante pour vérifier la version Python.

python --version

Vous devriez voir que Python 3.x.x est la valeur par défaut, similaire à la capture d'écran ci-dessous.

Installation de la base de données Apache Cassandra NoSQL

Vous avez installé les dépendances et vous êtes assuré qu'il s'agit de versions appropriées. Il est maintenant temps d'installer Apache Cassandra !

Bien qu'il existe de nombreuses façons d'installer Cassandra, la méthode la plus pratique consiste à utiliser le référentiel officiel. Mais il y a quelques étapes rapides que vous devez d'abord effectuer. Pour installer Cassandra NoSQL Database sur les systèmes Linux, procédez comme suit.

1. Exécutez la commande suivante pour créer un nouveau fichier de référentiel pour Cassandra.

nano /etc/yum.repos.d/cassandra.repo

2. Copiez la configuration de référentiel Cassandra suivante. Ce référentiel est disponible pour la plupart des distributions Red Hat, y compris Rocky Linux.

[cassandra]
name=Apache Cassandra
baseurl=https://downloads.apache.org/cassandra/redhat/40x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS

3. Après l'édition, enregistrez et fermez le fichier en appuyant sur Ctrl+X , Y , et Enter .

4. Ensuite, exécutez le dnf commande ci-dessous pour vérifier tous les référentiels disponibles sur votre système.

dnf repolist

Vous devriez voir le référentiel Apache Cassandra dans la liste des référentiels, comme indiqué ci-dessous.

5. Maintenant, installez la base de données Cassandra NoSQL en exécutant la commande suivante.

dnf install cassandra -y

Vous devriez voir un message de confirmation après l'installation d'Apache Cassandra, similaire à la capture d'écran ci-dessous.

Configuration du cluster Apache Cassandra

Une fois que vous avez installé Cassandra, vous devrez modifier la configuration /etc/cassandra/conf/cassandra.yaml et configurez le cluster Cassandra.

Pour faire fonctionner le cluster Cassandra, vous devrez modifier la configuration par défaut de Cassandra sur tous les serveurs, par exemple :

  • Changer le cluster_name par défaut .
  • Ajouter des adresses IP de serveur au seeds option.
  • Changer le listen_address par défaut à l'adresse IP locale.
  • Activer le rpc_address pour les connexions client.

Maintenant, suivez les étapes suivantes pour configurer le cluster Cassandra.

1. Sur cassandra01 , exécutez la commande suivante pour ouvrir la configuration de Cassandra cassandra.yaml pour l'édition.

nano /etc/cassandra/conf/cassandra.yaml

2. Modifiez la valeur par défaut du cluster name avec le nouveau nom. Ce tutoriel utilise le nouveau nom de cluster ATA Cluster .

cluster_name: 'ATA Cluster'

3. Maintenant, ajoutez l'adresse IP de chaque serveur avec le port TCP Cassandra 7000 par défaut au seeds options ci-dessous. Le format suit le modèle IP:Port,IP:Port , et le port par défaut est 7000 .

seeds: "172.16.1.10:7000,172.16.1.15:7000"

4. Ensuite, modifiez le listen_address par défaut à l'adresse IP du serveur, pas hôte local. L'option listen_address définit l'adresse IP que Cassandra exécutera.

# for cassandra01
listen_address: 172.16.1.10

# for cassandra02
listen_address: 172.16.1.15

5. Ensuite, modifiez l'option par défaut rpc_address avec l'adresse IP du serveur, la même valeur que le listen_address option. Dans l'environnement de cluster Cassandra, toutes les connexions client passent par l'adresse IP du serveur local par défaut TCP port 9042 .

# for cassandra01
rpc_address: 172.16.1.10

# for cassandra02
rpc_address: 172.16.1.15

6. Enregistrez et fermez le fichier de configuration en appuyant sur Ctrl+X , Y , et Enter .

7. Après avoir modifié la configuration de Cassandra, exécutez la commande suivante pour démarrer le service Cassandra. Cette commande démarrera automatiquement le cluster et atteindra les autres serveurs dont les adresses IP sont sur le seeds option.

service cassandra start

8. Maintenant, confirmez l'état du service Cassandra en exécutant la commande ci-dessous.

service cassandra status

Vous obtiendrez une sortie similaire à la capture d'écran ci-dessous. Comme vous pouvez le voir, le service Cassandra est actif (en cours d'exécution) .

Sécuriser le cluster Apache Cassandra avec un pare-feu

La mise en place d'un pare-feu pour sécuriser les services est une tâche essentielle dans l'environnement de production. Cela vous permet de limiter l'accès au cluster Cassandra uniquement à partir d'adresses IP ou de plages de réseau spécifiques.

Sur les distributions Red Hat Linux génériques, firewalld est le logiciel de pare-feu par défaut.

Par défaut, Cassandra nécessite que deux ports TCP soient ouverts. Le port 7000 est le port de cluster par défaut et le port 9042 est le port de transport natif par défaut pour les connexions client.

Suivez ces étapes pour sécuriser le déploiement du cluster Cassandra avec un pare-feu.

1. Tout d'abord, confirmez si vous avez déjà firewalld sur vos serveurs en exécutant la commande ci-dessous.

dnf search firewalld

Si firewalld n'existe pas, suivez les étapes #2 et #3. Mais si firewalld existe déjà sur le serveur, passez plutôt à l'étape 4.

2. Si vous n'avez pas firewalld sur votre système, exécutez la commande suivante pour l'installer.

dnf install firewalld -y

3. Maintenant, démarrez le firewalld service en exécutant la commande ci-dessous. Cette commande lancera le firewalld service avec des règles par défaut, ouvrant les ports et services essentiels tels que les clients SSH et DHCP.

systemctl start firewalld

Par défaut, firewalld fournit une interface de ligne de commande firewall-cmd pour la gestion et la maintenance des règles de pare-feu.

4. Exécutez le firewall-cmd suivant commande pour créer une nouvelle zone pour le cluster Cassandra et rechargez le firewalld règles.

# add firewalld zone cassandra-cluster
firewall-cmd --new-zone=cassandra-cluster --permanent

# reload firewalld
firewall-cmd --reload

Vous verrez le message de sortie succès , ce qui signifie que l'opération a réussi. L'option --permanent rend les nouvelles règles de pare-feu permanentes.

5. Ensuite, ajoutez le CIDR de votre réseau de serveurs au cassandra-cluster zone. Cette règle autorise tous les serveurs ou clients sur le CIDR 172.16.1.0/24 pour parler et se connecter. Pour ajouter une seule adresse IP, saisissez l'adresse IP 172.16.1.20 .

firewall-cmd --zone=cassandra-cluster --add-source=172.16.1.0/24 --permanent

6. Maintenant, exécutez la commande ci-dessous pour ajouter les ports de service Cassandra 7000 et 9042 au cassandra-cluster zone.

# add storage_port Apache Cassandra to the zone cassandra_cluster
firewall-cmd --zone=cassandra-cluster --add-port=7000/tcp --permanent

# add Apache Cassandra port for client connections
firewall-cmd --zone=cassandra-cluster --add-port=9042/tcp --permanent

7. Enfin, rechargez firewalld rules pour appliquer une nouvelle configuration en exécutant la commande ci-dessous.

firewall-cmd --reload

Le cluster Cassandra est désormais accessible uniquement via le 172.16.1.0/24 réseau et supprimera toutes les connexions des autres réseaux.

Vérification de l'état du cluster Apache Cassandra

Nodetool est un utilitaire de commande natif pour la gestion et la surveillance du cluster Cassandra. Cet outil vous permet d'afficher l'état des métriques du cluster Cassandra, telles que les tables et les espaces de clés, les métriques du serveur, les applications, les métriques de connexion client, etc.

En général, les administrateurs exécutent le nodetool commande directement sur le serveur Cassandra opérationnel effectuant la maintenance et la surveillance de routine de la base de données.

Suivez les étapes ci-dessous pour apprendre les bases de la surveillance du cluster Cassandra à l'aide du nodetool utilitaire.

1. Vérifiez l'état du cluster Cassandra en exécutant la commande suivante.

nodetool status

Vous obtiendrez une sortie similaire à la capture d'écran ci-dessous.

  • U signifie que le nœud est UP ou courir.
  • N signifie que le nœud est NORMAL .
  • L'adresse peut être l'adresse IP ou l'URL du nœud.
  • Charger est la taille des fichiers dans le répertoire de données de Cassandra. Cette valeur est actualisée toutes les 90 secondes.
  • Le jeton est le nombre de jetons disponibles sur le nœud.
  • L'ID d'hôte est l'identifiant réseau du nœud. Chaque nœud a un identifiant différent.

2. Maintenant, exécutez la commande ci-dessous pour obtenir des informations détaillées sur le nœud unique.

nodetool info

Ci-dessous, vous pouvez voir des informations détaillées sur le nœud telles que :

  • Temps de disponibilité
  • Informations sur la mémoire de tas
  • Charger
  • Cache de clé et cache de compteur
  • Emplacement du centre de données

3. Ensuite, affichez les détails du cluster Cassandra en exécutant la commande ci-dessous.

nodetool describecluster

Vous pouvez voir ci-dessous le cluster Cassandra détaillé.

  • Informations sur le cluster contient des informations de base sur le cluster Cassandra, y compris le nom, le partitionneur Cassandra par défaut et la version du schéma.
  • Statistiques pour tous les nœuds indiquer l'état actuel de tous les nœuds du cluster Cassandra.
  • Si vous avez créé le cluster Cassandra sur plusieurs centres de données, vous verrez tous vos centres de données sur les Centres de données section.
  • Les versions de la base de données affiche la version de Cassandra sur chaque nœud de cluster.
  • La liste de tous les espaces de clés ou bases de données disponibles sur le cluster Cassandra est disponible sous les espaces de clés section.

Connexion au cluster Apache Cassandra

L'installation du package Apache Cassandra sur le serveur installe également Cassandra Query Language Shell (CQLSH). Cet outil permet aux administrateurs de se connecter à Apache Cassandra et de gérer les bases de données ou les espaces de clés et les utilisateurs.

Suivez les étapes ci-dessous pour vous connecter au cluster Cassandra à l'aide de la ligne de commande cqlsh .

1. Exécutez le cqlsh commande ci-dessous pour se connecter au cluster Cassandra. Spécifiez l'adresse IP de Cassandra et le port par défaut pour les connexions client est 9042 .

cqlsh 172.16.1.10 9042

Une fois connecté au cluster Cassandra, vous verrez une sortie similaire à celle de la capture d'écran ci-dessous. Cet exemple utilise le nom de cluster ATA Cluster sur l'adresse IP du serveur 172.16.1.10 .

2. Maintenant, exécutez les requêtes CQL suivantes pour vérifier à quel serveur vous vous êtes connecté, vérifiez le nom du cluster et vérifiez tous les espaces de clés disponibles sur Cassandra.

# show detailed host
SHOW HOST

# show cluster name
DESCRIBE CLUSTER

# list all available keyspaces (databases)
DESCRIBE KEYSPACES

Vous verrez une sortie similaire à la capture d'écran ci-dessous. Le SHOW HOST requête vous montre où vous êtes connecté, la requête DESCRIBE CLUSTER vous montre le nom du cluster Cassandra et la requête DESCRIBE KEYSPACES vous montre la liste des espaces de clés sur votre nœud Cassandra.

3. Enfin, tapez le exit pour se déconnecter du cqlsh environnement.

Conclusion

Tout au long de ce didacticiel, vous avez appris à installer et à configurer Apache Cassandra sous Linux. Vous avez également configuré le cluster Apache Cassandra à l'aide de deux serveurs Linux et sécurisé le déploiement à l'aide du pare-feud.

À ce stade, vous êtes prêt à ajouter d'autres serveurs et à faire évoluer vos déploiements, en offrant une haute disponibilité, une cohérence et une redondance pour vos données.

Quelle est la prochaine pour vous? Commencez peut-être par configurer l'authentification et l'autorisation sur votre cluster Cassandra, puis configurez la réplication de l'espace de clés/base de données pour vos applications. Et pendant que vous y êtes, pourquoi ne pas apprendre à maintenir le cluster Apache Cassandra avec nodetool ?


Linux
  1. Comment installer Python sur Linux

  2. Comment installer Apache Cassandra sur AlmaLinux / Rocky Linux 8

  3. Comment installer Apache Cassandra sur Ubuntu 18.04 / Ubuntu 16.04 et Debian 9

  4. Comment installer Apache Kafka sur Rocky Linux 8

  5. Comment installer Apache Cassandra sur Ubuntu 20.04

Comment installer Apache 2.4 et PHP 7.4 sur Amazon Linux

Comment installer Apache Cassandra sur AlmaLinux 8 | Rocheux Linux 8

Comment installer et configurer Apache Cassandra sur le système Linux

Comment installer Apache sur Arch Linux

Comment installer Anaconda Python sur Rocky Linux 8

Comment installer Apache Solr sur Oracle Linux 8