Apache Cassandra est une base de données NoSQL open source sans point de défaillance unique, offrant une évolutivité linéaire et une haute disponibilité sans compromettre les performances. Dans Cassandra, les enregistrements sont structurés de la même manière que dans la base de données relationnelle avec des tables, des lignes et des colonnes. Apache Cassandra est utilisé par un certain nombre d'organisations, dont Apple, NetFlix, eBay et Easou.
Ce tutoriel décrit comment installer Apache Cassandra sur CentOS 7.
Prérequis #
L'utilisateur avec lequel vous êtes connecté doit avoir les privilèges sudo pour pouvoir installer les packages.
Installation d'Apache Cassandra #
La méthode recommandée pour installer Apache Cassandra sur CentOS 7 consiste à installer le package rpm à partir du référentiel officiel Apache Cassandra.
Au moment de la rédaction de cet article, la dernière version d'Apache Cassandra est 3.11
et nécessite OpenJDK 8 pour être installé sur le système.
Pour installer OpenJDK, sur votre système, tapez :
sudo yum install java-1.8.0-openjdk-devel
Vérifiez l'installation de Java en exécutant la commande suivante qui imprimera la version de Java :
java -version
Le résultat devrait ressembler à ceci :
openjdk version "1.8.0_201"
OpenJDK Runtime Environment (build 1.8.0_201-b09)
OpenJDK 64-Bit Server VM (build 25.201-b09, mixed mode)
Maintenant que Java est installé, l'étape suivante consiste à ajouter le référentiel Apache Cassandra.
Ouvrez l'éditeur de votre choix 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
Une fois le référentiel activé, installez la dernière version d'Apache Cassandra en tapant :
sudo yum install cassandra
Démarrez et activez le service Cassandra :
sudo systemctl enable cassandra
sudo systemctl start 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 103.68 KiB 256 100.0% 129a9437-377d-415b-b6b2-5dc46b73a763 rack1
À ce stade, Apache Cassandra a été 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
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.4 | 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". Suivez les étapes ci-dessous si vous souhaitez modifier le nom du cluster :
-
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 terminé, tapez
exit
pour quitter la console. -
Modifiez le
/etc/cassandra/default.conf/cassandra.yamlcassandra.yaml
fichier de configuration et entrez votre nouveau nom de cluster.cluster_name: 'Linuxize Cluster'
-
Exécutez la commande suivante pour vider le cache système :
nodetool flush system
-
Redémarrez enfin le service Cassandra :
sudo systemctl restart cassandra