Apache Cassandra est une base de données NoSQL gratuite et open source sans point de défaillance unique. Il offre une évolutivité linéaire et une haute disponibilité sans compromettre les performances. Apache Cassandra est utilisé par de nombreuses entreprises qui disposent de grands ensembles de données actives, notamment Reddit, NetFlix, Instagram et Github.
Cet article explique comment installer Apache Cassandra sur CentOS 8.
Installation d'Apache Cassandra #
Le moyen le plus simple d'installer Apache Cassandra sur CentOS 8 consiste à installer le package rpm à partir du référentiel officiel Apache Cassandra.
La dernière version d'Apache Cassandra est 3.11
et nécessite OpenJDK 8 pour être installé sur le système.
Exécutez la commande suivante en tant qu'utilisateur root ou utilisateur avec les privilèges sudo pour installer OpenJDK :
sudo dnf install java-1.8.0-openjdk-devel
Une fois terminé, vérifiez l'installation en imprimant la version Java :
java -version
Le résultat devrait ressembler à ceci :
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)
Maintenant que Java est installé, l'étape suivante consiste à ajouter le référentiel Apache Cassandra.
Ouvrez votre éditeur de texte et créez le fichier de référentiel suivant :
sudo nano /etc/yum.repos.d/cassandra.repo
Collez le contenu suivant dans le fichier :
/etc/yum.repos.d/cassandra.repo[cassandra]
name=Apache Cassandra
baseurl=https://www.apache.org/dist/cassandra/redhat/311x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://www.apache.org/dist/cassandra/KEYS
Enregistrez le fichier et installez la dernière version d'Apache Cassandra en tapant :
sudo dnf install cassandra
Lorsque vous y êtes invité, saisissez y
pour importer les clés GPG.
Une fois l'installation terminée, démarrez et activez le service Cassandra :
sudo systemctl start cassandra
sudo systemctl enable cassandra
Vérifiez que Cassandra est en cours d'exécution en tapant :
nodetool status
Vous devriez voir quelque chose de semblable à ceci :
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 127.0.0.1 69.99 KiB 256 100.0% ce0389a3-b48c-4cc9-b594-abe23e677d33 rack1
C'est ça. À ce stade, Apache Cassandra est installé sur votre serveur CentOS.
Configuration d'Apache Cassandra #
Les données Apache Cassandra sont stockées dans le /var/lib/cassandra
répertoire, les fichiers de configuration sont situés dans /etc/cassandra
et les options de démarrage Java peuvent être configurées dans le /etc/default/cassandra
fichier.
Par défaut, Cassandra est configurée pour écouter uniquement sur localhost. Si le client qui se connecte à la base de données s'exécute également sur le même hôte, vous n'avez pas besoin de modifier le fichier de configuration par défaut.
Pour interagir avec Cassandra via CQL (le langage de requête Cassandra), vous pouvez utiliser un utilitaire de ligne de commande nommé cqlsh
qui est livré avec le package Cassandra.
cqlsh
nécessite que Python 2 soit dans le PATH du système. Si Python 2 n'est pas installé sur le serveur, vous pouvez le faire avec les commandes suivantes :
sudo dnf install python2
sudo alternatives --set python /usr/bin/python2
Une fois python configuré, exécutez cqlsh
pour accéder au shell CQL :
cqlsh
[cqlsh 5.0.1 | Cassandra 3.11.7 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cqlsh>
Renommer le cluster Apache Cassandra #
Par défaut, le cluster Cassandra est nommé "Test Cluster". Si vous souhaitez modifier le nom du cluster, suivez les étapes ci-dessous :
-
Connectez-vous au terminal Cassandra CQL avec
cqlsh
:cqlsh
La commande suivante changera le nom du cluster en "Linuxize Cluster":
UPDATE system.local SET cluster_name = 'Linuxize Cluster' WHERE KEY = 'local';
Remplacez "Linuxize Cluster" par le nom souhaité. Une fois cela fait, tapez
exit
pour quitter la console. -
Ouvrez le
cassandra.yaml
fichier de configuration, recherchez "cluster_name" et entrez votre nouveau nom de cluster :
/etc/cassandra/default.conf/cassandra.yamlsudo nano /etc/cassandra/default.conf/cassandra.yaml
cluster_name: 'Linuxize Cluster'
-
Videz le cache système :
nodetool flush system
-
Redémarrez enfin le service Cassandra :
sudo systemctl restart cassandra