Apache Cassandra est une base de données distribuée hautement évolutive et hautes performances, conçue pour gérer de grandes quantités de données sur de nombreux serveurs standard, offrant ainsi une haute disponibilité sans point de défaillance unique. Il est réputé pour sa prise en charge robuste des clusters répartis sur plusieurs centres de données, avec une réplication asynchrone sans maître permettant une faible latence et une simplicité opérationnelle. Cassandra est idéal pour les applications nécessitant un débit d'écriture élevé, une tolérance aux pannes et une évolutivité linéaire.
Le guide suivant démontrera les étapes pour installer Apache Cassandra sur Rocky Linux 9 ou 8 à l'aide de commandes de ligne de commande. Ce processus implique la mise en place du référentiel approprié et la configuration de votre système pour garantir des performances et une fiabilité optimales pour votre environnement de base de données distribuée.
Mettre à jour le système Rocky Linux avant l'installation d'Apache Cassandra
Tout d'abord, avant d'installer Apache Cassandra, c'est une bonne idée de s'assurer que tous les packages système sont à jour pour éviter tout problème potentiel lors de l'installation de la base de données NoSQL.
Dans votre terminal, exécutez la commande suivante et mettez à niveau tous les packages en attente.
sudo dnf upgrade --refresh
Importer le référentiel Apache Cassandra
La première étape consiste à importer le référentiel pour Apache Cassandra. Heureusement, vous pouvez y parvenir avec une seule commande. Le didacticiel montrera comment importer les branches 5.0, 4.0 ou 4.1. Étant donné que la branche 3.xx touche à sa fin, le didacticiel n'inclura pas d'instructions pour les ajouter.
4.0 Importation RPM Apache Cassandra
sudo tee /etc/yum.repos.d/cassandra-4.0.repo<<EOF
[cassandra]
name=Apache Cassandra 4.0
baseurl=https://redhat.cassandra.apache.org/41x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
EOF
4.1 Importation RPM Apache Cassandra
sudo tee /etc/yum.repos.d/cassandra-4.1.repo<<EOF
[cassandra]
name=Apache Cassandra 4.1
baseurl=https://redhat.cassandra.apache.org/41x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
EOF
5.0 Importation RPM Apache Cassandra
sudo tee /etc/yum.repos.d/cassandra-5.0.alpha.repo<<EOF
[cassandra]
name=Apache Cassandra 5.0
baseurl=https://redhat.cassandra.apache.org/50x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
EOF
Installez Apache Cassandra via la commande DNF
Vous pouvez installer Cassandra avec la commande suivante : le référentiel a été importé.
sudo dnf install cassandra -y
Confirmez la version installée en exécutant la commande suivante.
cassandra -v
Notez si vous voyez l’erreur suivante lors de l’importation des clés GPG.
Key import failed (code 2). Failing package is: cassandra-4.1~alpha1-1.noarch
GPG Keys are configured as: https://www.apache.org/dist/cassandra/KEYS
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Modifiez les politiques de chiffrement et définissez la politique sur LEGACY.
sudo update-crypto-policies --set LEGACY
Parfois, vous devrez peut-être redémarrer pour que cette modification se produise correctement. J'ai trouvé que ce n'était pas nécessaire, mais c'est conseillé.
reboot
Créer le service Apache Cassandra Systemd
Une fois l'installation terminée, vous devez créer le service systemd. Encore une fois, c'est une tâche simple ; copiez et collez la commande suivante pour créer le fichier.
sudo tee /etc/systemd/system/cassandra.service<<EOF
[Unit]
Description=Apache Cassandra
After=network.target
[Service]
Type=simple
PIDFile=/var/run/cassandra/cassandra.pid
User=cassandra
Group=cassandra
ExecStart=/usr/sbin/cassandra -f -p /var/run/cassandra/cassandra.pid
Restart=always
[Install]
WantedBy=multi-user.target
EOF
Vous devez recharger le démon pour commencer à utiliser le service Cassandra et vous ne pouvez pas ignorer cette étape.
sudo systemctl daemon-reload
Maintenant, démarrez le service Cassandra.
sudo systemctl start cassandra
Ensuite, vérifiez l’état systemctl de Cassandra pour vous assurer qu’il n’y a pas d’erreurs.
systemctl status cassandra
En option, vous pouvez activer le service Cassandra au démarrage automatique lorsque vous démarrez votre ordinateur ou votre serveur à l'aide de la commande suivante.
sudo systemctl enable cassandra
Installer le client Apache Cassandra (cqlsh) sur Rocky Linux
Installer Python
Avant d'installer le client Cassandra, assurez-vous que Python est disponible sur votre système. Le client d'Apache Cassandra, cqlsh
, est basé sur Python, ce qui fait de Python un prérequis. Installez Python sur Rocky Linux en exécutant :
sudo dnf install python3 -y
Installer PIP
Ensuite, installez PIP, le gestionnaire de packages de Python, pour gérer les packages Python. PIP est essentiel pour installer le pilote Cassandra Python. Si PIP n'est pas déjà installé sur votre système, ajoutez-le en exécutant :
sudo dnf install python3-pip -y
Installer le pilote Cassandra Python
Le pilote Cassandra Python est nécessaire pour cqlsh
pour vous connecter à la base de données Cassandra. Ce pilote permet la communication entre le client et la base de données. Installez le pilote en utilisant PIP avec la commande :
pip install cassandra-driver
Installation de cqlsh
Une fois les prérequis remplis, vous êtes maintenant prêt à installer cqlsh
. Cette interface de ligne de commande permet d'interagir avec Apache Cassandra, vous permettant d'exécuter des requêtes et de gérer votre base de données. Installer cqlsh
en exécutant :
pip install cqlsh
Enfin, connectez-vous à cqlsh à l'aide de la commande suivante.
cqlsh
Exemple de résultat de votre connexion réussie :
[cqlsh 6.1.0 | Cassandra 4.1-alpha1 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
cqlsh>
Configurer Apache Cassandra
La configuration et la personnalisation de Cassandra nécessitent des modifications dans ses fichiers de configuration et l'utilisation de certains utilitaires de ligne de commande.
Configuration de la configuration de base
Les principaux fichiers de configuration de Cassandra se trouvent dans /etc/cassandra
. Pendant ce temps, les journaux et les répertoires de données sont généralement situés à /var/log/cassandra
et /var/lib/cassandra
respectivement.
Pour les ajustements au niveau de la JVM, tels que la taille du tas, vous devez vous tourner vers le /etc/cassandra/conf/cassandra-env.sh
déposer. Dans ce fichier, vous pouvez ajouter des arguments de ligne de commande JVM supplémentaires au JVM_OPTS
variable que Cassandra lit au démarrage.
Activation de l'authentification utilisateur avec Apache Cassandra
Avant d'activer l'authentification des utilisateurs, il est judicieux de créer une sauvegarde du /etc/cassandra/conf/cassandra.yaml
déposer:
sudo cp /etc/cassandra/conf/cassandra.yaml /etc/cassandra/conf/cassandra.yaml.backup
Ensuite, ouvrez le cassandra.yaml
déposer:
sudo nano /etc/cassandra/conf/cassandra.yaml
Dans le fichier, vous souhaiterez rechercher et modifier ces paramètres :
authenticator: org.apache.cassandra.auth.PasswordAuthenticator
authorizer: org.apache.cassandra.auth.CassandraAuthorizer
roles_validity_in_ms: 0
permissions_validity_in_ms: 0
Ajustez les autres paramètres en fonction de vos besoins et s'ils apparaissent commentés, assurez-vous de les supprimer. Terminez le processus d'édition en enregistrant le fichier.
Ensuite, redémarrez Cassandra pour appliquer vos modifications :
sudo systemctl restart cassandra
Ajout d'un superutilisateur administratif pour Apache Cassandra
L'authentification étant désormais activée, il est indispensable de configurer un utilisateur. À l'aide de l'utilitaire shell Cassandra Command, connectez-vous à l'aide des informations d'identification utilisateur par défaut :
cqlsh -u cassandra -p cassandra
Initier un nouveau superutilisateur en remplaçant [username]
et [yourpassword]
avec vos précisions :
CREATE ROLE [username] WITH PASSWORD = '[yourpassword]' AND SUPERUSER = true AND LOGIN = true;
Après cela, quittez et reconnectez-vous avec vos nouveaux détails de superutilisateur :
cqlsh -u username -p yourpassword
Réduisez les autorisations élevées du compte Cassandra par défaut :
ALTER ROLE cassandra WITH PASSWORD = 'cassandra' AND SUPERUSER = false AND LOGIN = false;
REVOKE ALL PERMISSIONS ON ALL KEYSPACES FROM cassandra;
Et accordez toutes les autorisations à votre superutilisateur :
GRANT ALL PERMISSIONS ON ALL KEYSPACES TO '[username]';
Terminez cette section en vous déconnectant.
Personnalisation de la configuration de la console
Le Cassandra Shell peut être adapté à vos besoins. Il lit sa configuration à partir du cqlshrc
fichier trouvé dans le ~/.cassandra
annuaire. Un exemple de fichier fournissant un aperçu des paramètres possibles se trouve à l'adresse /etc/cassandra/conf/cqlshrc.sample
.
Commencez par copier cet exemple de fichier :
sudo cp /etc/cassandra/conf/cqlshrc.sample ~/.cassandra/cqlshrc
Ajuste le cqlshrc
autorisations du fichier :
sudo chmod 600 ~/.cassandra/cqlshrc
sudo chown $USER:$USER ~/.cassandra/cqlshrc
Ouvrez-le pour le modifier :
nano ~/.cassandra/cqlshrc
Pour automatiser la connexion avec les informations d'identification du superutilisateur, recherchez et modifiez la section suivante :
[authentication]
username = [superuser]
password = [password]
N'oubliez pas de sauvegarder après avoir terminé vos modifications. Désormais, lorsque vous vous connecterez au shell Cassandra, vos modifications seront reflétées :
cqlsh
Renommer le cluster
Vous souhaiterez peut-être renommer le cluster pour rendre le système plus identifiable. Commencez en vous connectant à cqlsh
Terminal:
cqlsh
Remplacer [new_name]
avec le nom de cluster souhaité :
UPDATE system.local SET cluster_name = '[new_name]' WHERE KEY = 'local';
Quittez le terminal et ouvrez /etc/cassandra/conf/cassandra.yaml
pour une édition ultérieure :
sudo nano /etc/cassandra/conf/cassandra.yaml
Localisez le cluster_name
variable et remplacez sa valeur par le nom que vous avez choisi. Enregistrez vos modifications.
Enfin, videz le cache système de Cassandra :
nodetool flush system
Redémarrez Cassandra :
sudo systemctl restart cassandra
Lorsque vous vous connectez au shell, il affichera le nom du cluster que vous avez choisi.
Vérification des modifications de configuration
Après avoir apporté des modifications à la configuration, il est toujours conseillé de s'assurer qu'elles ont pris effet et de vérifier l'état de santé général du cluster Cassandra.
Vérification du nom du cluster : publiez le processus de changement de nom lorsque vous vous reconnectez au cqlsh
coquille:
cqlsh
L'invite devrait maintenant afficher le nom du cluster nouvellement défini.
Conclusion
Dans ce guide, nous avons parcouru les étapes d'installation d'Apache Cassandra sur Rocky Linux, couvrant les versions 9 et 8. Ces instructions vous fournissent une solution de base de données robuste et évolutive pour les besoins du Big Data. Vérifiez régulièrement les mises à jour pour que Cassandra continue de fonctionner correctement et en toute sécurité. Entraînez-vous à utiliser Cassandra pour maîtriser pleinement ses fonctionnalités. Plongez, expérimentez et voyez comment cela peut transformer votre gestion des données.