GNU/Linux >> Tutoriels Linux >  >> AlmaLinux

Comment installer Apache Cassandra sur AlmaLinux / Rocky Linux 8

Apache Cassandra est un système de gestion de base de données distribué NoSQL open source. Cassandra peut être mise à l'échelle horizontalement en ajoutant plus de nœuds sur lesquels les données sont répliquées automatiquement. Les nœuds peuvent être ajoutés ou supprimés sans aucun temps d'arrêt. Les nœuds peuvent être organisés logiquement en cluster ou en anneau et configurés sur plusieurs centres de données afin d'améliorer la vitesse et la fiabilité des applications hautes performances.

Dans ce tutoriel, nous allons apprendre à installer Apache Cassandra sur les systèmes d'exploitation AlmaLinux et Rocky Linux 8. Les commandes pour les deux systèmes d'exploitation seront identiques, sauf indication contraire.

Prérequis

  • Un serveur exécutant AlmaLinux ou Rocky Linux avec un minimum de 2 Go de RAM.

  • Un utilisateur non sudo avec des privilèges root.

  • Tout est mis à jour.

    $ sudo dnf update
    

Étape 1 - Installer Java

Apache Cassandra nécessite Java 8 pour fonctionner. La dernière version de Cassandra inclut une prise en charge expérimentale de Java 11, mais pour notre tutoriel, nous nous en tiendrons à Java 8.

$ sudo dnf install java-1.8.0-openjdk java-1.8.0-openjdk-devel

Confirmez l'installation de Java.

$ java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

Étape 2 - Installer Apache Cassandra

La première étape consiste à ajouter le dépôt officiel de Cassandra.

Exécutez la commande suivante pour créer le fichier de référentiel /etc/yum.repos.d/cassandra.repo et entrez les détails.

$ sudo tee  /etc/yum.repos.d/cassandra.repo <<EOF
> [cassandra]
> name=Apache Cassandra
> baseurl=https://www.apache.org/dist/cassandra/redhat/40x/
> gpgcheck=1
> repo_gpgcheck=1
> gpgkey=https://www.apache.org/dist/cassandra/KEYS
> EOF

Maintenant que le fichier référentiel est créé, installez Cassandra.

$ sudo dnf install cassandra -y

Étape 3 - Installer Cqlsh

Nous utiliserons le shell CQL (cqlsh ) outil pour interagir avec Cassandra. L'outil est compatible avec Python 2.7 ou Python 3.6+. Pour notre tutoriel, nous utiliserons Python 3.8. Installez Python 3.8.

$ sudo dnf install python38

Définissez Python 3.8 comme version Python par défaut.

$ sudo update-alternatives --config python
There are 3 programs which provide 'python'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/libexec/no-python
   2           /usr/bin/python3
   3           /usr/bin/python3.8

Enter to keep the current selection[+], or type selection number: 3

Plusieurs options vous seront présentées. Nous choisirons le numéro 3 pour définir Python 3.8 comme version par défaut dans notre cas.

Confirmez l'installation de Python.

$ python --version
Python 3.8.8

Après avoir utilisé les update-alternatives utilitaire, vous n'avez pas besoin d'utiliser le python3 commande.

Installez cqlsh en utilisant le gestionnaire de packages pip Python.

$ pip3 install --user cqlsh

Confirmez le cqlsh installer.

$ cqlsh --version
cqlsh 6.0.0

Étape 4 - Créer un fichier d'unité Systemd pour Cassandra

Créez et ouvrez le /etc/systemd/system/cassandra.service pour l'édition.

$ sudo nano /etc/systemd/system/cassandra.service

Collez-y le code suivant.

[Unit]
Description=Apache Cassandra
After=network.target

[Service]
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

Enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous y êtes invité.

Rechargez le démon de service.

$ sudo systemctl daemon-reload

Activez et démarrez le service Cassandra.

$ sudo systemctl enable cassandra --now

Vérifiez l'état du service.

$ sudo systemctl status cassandra
? cassandra.service - Apache Cassandra
   Loaded: loaded (/etc/systemd/system/cassandra.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2021-12-30 11:07:43 UTC; 12s ago
 Main PID: 4679 (java)
    Tasks: 48 (limit: 23696)
   Memory: 1.3G
   CGroup: /system.slice/cassandra.service
           ??4679 /usr/bin/java -ea -da:net.openhft... -XX:+UseThreadPriorities -XX:+HeapDumpOnOutOfMemoryError -Xss256>

Vous pouvez également vérifier l'état à l'aide de nodetool commande.

$ nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load       Tokens  Owns (effective)  Host ID                               Rack
UN  127.0.0.1  69.09 KiB  16      100.0%            2fe7ccae-2af9-4841-9bff-bffa29f10dc5  rack1

Étape 5 - Configurer Cassandra

L'emplacement par défaut des fichiers de configuration pour Cassandra est /etc/cassandra . L'emplacement par défaut des répertoires de journaux et de données est /var/log/cassandra et /var/lib/cassandra .

Les paramètres de niveau JVM tels que la taille du tas peuvent être définis via le /etc/cassandra/conf/cassandra-env.sh dossier. Vous pouvez passer des arguments de ligne de commande JVM supplémentaires au JVM_OPTS variable. Les arguments sont passés à Cassandra au démarrage.

5.1 Activer l'authentification de l'utilisateur

Pour activer l'authentification de l'utilisateur, faites d'abord une sauvegarde de /etc/cassandra/conf/cassandra.yaml fichier.

$ sudo cp /etc/cassandra/conf/cassandra.yaml /etc/cassandra/conf/cassandra.yaml.backup

Ouvrez le cassandra.yaml fichier à éditer.

$ sudo nano /etc/cassandra/conf/cassandra.yaml

Localisez les paramètres suivants dans ce fichier.

authenticator: AllowAllAuthenticator
authorizer: AllowAllAuthorizer
roles_validity_in_ms: 2000
permissions_validity_in_ms: 2000

Modifiez les valeurs des paramètres comme indiqué ci-dessous.

. . .

authenticator: org.apache.cassandra.auth.PasswordAuthenticator
authorizer: org.apache.cassandra.auth.CassandraAuthorizer
roles_validity_in_ms: 0
permissions_validity_in_ms: 0

. . .

Vous pouvez configurer d'autres paramètres en fonction de vos besoins. S'ils sont commentés, décommentez-les.

Une fois terminé, enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous y êtes invité.

Redémarrez Cassandra pour activer les paramètres modifiés.

$  sudo systemctl restart cassandra

5.1.1 - Ajouter un administrateur superutilisateur

Maintenant que nous avons activé l'authentification, nous devons créer un utilisateur. Pour ce faire, nous utiliserons l'utilitaire shell Cassandra Command. Connectez-vous avec les identifiants de l'utilisateur par défaut cassandra .

$ cqlsh -u cassandra -p cassandra

Créez un nouveau superutilisateur. Remplacer [username] et [yourpassword] avec vos identifiants.

[email protected]> CREATE ROLE [username] WITH PASSWORD = '[yourpassword]' AND SUPERUSER = true AND LOGIN = true;

Déconnectez-vous.

[email protected]> exit

Reconnectez-vous avec le nouveau compte superutilisateur.

$ cqlsh -u username -p yourpassword

Supprimez les autorisations élevées de la valeur par défaut cassandra compte.

[email protected]> ALTER ROLE cassandra WITH PASSWORD = 'cassandra' AND SUPERUSER = false AND LOGIN = false;
[email protected]> REVOKE ALL PERMISSIONS ON ALL KEYSPACES FROM cassandra;

Accordez toutes les autorisations au compte superutilisateur.

[email protected]> GRANT ALL PERMISSIONS ON ALL KEYSPACES TO '[username]';

Déconnectez-vous.

[email protected]> exit

5.2 - Modifier le fichier de configuration de la console

Si vous souhaitez personnaliser le Cassandra Shell, vous pouvez le faire en modifiant le cqlshrc dossier. L'emplacement par défaut du fichier est dans le ~/.cassandra annuaire. Si vous souhaitez le charger à partir d'un répertoire différent, vous pouvez passer l'argument --cqlshrc /customdirectory au cqlsh outil en cours d'exécution.

Vous pouvez trouver un exemple de fichier sur /etc/cassandra/conf/cqlshrc.sample contenant tous les paramètres que vous pouvez configurer concernant le Cassandra Shell.

Copiez et renommez le fichier d'exemple en ~/.cassandra répertoire.

$ sudo cp /etc/cassandra/conf/cqlshrc.sample ~/.cassandra/cqlshrc

Mettre à jour le cqlshrc fichier avec les autorisations requises.

$ sudo chmod 600 ~/.cassandra/cqlshrc
$ sudo chown $USER:$USER ~/.cassandra/cqlshrc

Ouvrez le fichier pour le modifier.

$ nano ~/.cassandra/cqlshrc

Nous allons configurer le shell pour qu'il se connecte automatiquement avec les informations d'identification du superutilisateur. Trouvez la section suivante et remplissez-la avec votre nom d'utilisateur et votre mot de passe.

....

[authentication]
;; If Cassandra has auth enabled, fill out these options
username = [superuser]
password = [password]

....

Modifiez tous les autres paramètres que vous souhaitez modifier. Certains paramètres sont commentés à l'aide de ;; . Décommentez-les en supprimant les doubles points-virgules, puis effectuez la modification.

Une fois terminé, enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous y êtes invité.

Connectez-vous au shell Cassandra avec vos nouvelles modifications.

$ cqlsh
Connected to Test Cluster at 127.0.0.1:9042
[cqlsh 6.0.0 | Cassandra 4.0.1 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
[email protected]>

5.3 - Renommer le cluster

Enfin, nous allons renommer le nom du cluster de Test Cluster au nom que vous avez choisi.

Connectez-vous au cqlsh borne.

$ cqlsh

Remplacez le [clustername] avec votre nouveau nom de cluster dans la commande ci-dessous.

[email protected]> UPDATE system.local SET cluster_name = '[new_name]' WHERE KEY = 'local';

Quitter le shell

[email protected]> exit

Ouvrez le fichier /etc/cassandra/conf/cassandra.yaml pour l'édition.

$ sudo nano /etc/cassandra/conf/cassandra.yaml

Remplacer la valeur de la variable cluster_name avec le nom de votre choix.

...

# The name of the cluster. This is mainly used to prevent machines in
# one logical cluster from joining another.
cluster_name: '[new_name]'

...

Une fois terminé, enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous y êtes invité.

Videz le cache système de Cassandra.

$  nodetool flush system

Redémarrez Cassandra.

$  sudo systemctl restart cassandra

Connectez-vous au shell pour voir le nouveau nom.

$  cqlsh
Connected to HowtoForge Cluster at 127.0.0.1:9042
[cqlsh 6.0.0 | Cassandra 4.0.1 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
[email protected]>

Conclusion

Dans ce didacticiel, vous avez appris à installer Apache Cassandra sur un serveur AlmaLinux ou Rocky Linux. Vous avez également appris à ajouter une authentification utilisateur et à effectuer certaines configurations de base. Pour en savoir plus, consultez la documentation officielle de Cassandra. Si vous avez des questions, postez-les dans les commentaires ci-dessous.


AlmaLinux
  1. Comment installer Apache sur AlmaLinux

  2. Comment installer Apache Cassandra sur Debian 10 Linux

  3. Comment installer Docker sur AlmaLinux / Rocky Linux

  4. Comment installer Jenkins sur Rocky Linux 8 / AlmaLinux 8

  5. Comment installer Samba dans Rocky Linux et AlmaLinux

Comment installer Git sur Almalinux ou Rocky Linux 8

Comment installer le navigateur Vivaldi sur AlmaLinux | Rocheux Linux 8

Comment installer le client filezilla sur Rocky Linux 8 | AlmaLinux

Comment installer Apache Tomcat sur Rocky Linux 8

Comment installer Jenkins sur AlmaLinux 8 ou Rocky Linux

Comment installer Apache Cassandra sur AlmaLinux 8