Apache Cassandra est un système de gestion de base de données NoSQL open source à large colonne conçu pour gérer de grandes quantités de données. Cassandra peut être distribué sur de nombreux serveurs pour atteindre une haute disponibilité sans point de défaillance unique. Généralement, il est utilisé pour servir de magasin de données opérationnelles en temps réel pour les applications transactionnelles en ligne et de base de données à lecture intensive pour les systèmes à grande échelle. Actuellement, il est utilisé par de nombreuses organisations, notamment Netflix, Digg, Adobe, Twitter, HP, IBM, Rackspace, Cisco et Reddit.
Dans ce guide, nous vous expliquerons comment installer Apache Cassandra sur Oracle Linux 8.
Prérequis
- Un serveur exécutant Oracle Linux 8 sur la plate-forme cloud Atlantic.Net
- Un mot de passe root configuré sur votre serveur
Étape 1 - Créer un serveur cloud Atlantic.Net
Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant Oracle Linux comme système d'exploitation avec au moins 4 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.
Une fois connecté à votre serveur, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.
dnf update -y
Étape 2 – Installer Java 8
dnf install epel-release python2 python2-pip java-1.8.0-openjdk -y
Après l'installation, vérifiez l'installation de Java avec la commande suivante :
java -version
Vous obtiendrez la version Java dans la sortie suivante :
openjdk version "1.8.0_332" OpenJDK Runtime Environment (build 1.8.0_332-b09) OpenJDK 64-Bit Server VM (build 25.332-b09, mixed mode)
Ensuite, installez l'utilitaire de ligne de commande cqlsh pour vous connecter à Cassandra via la ligne de commande.
pip2 install cqlsh
Étape 3 - Installer Apache Cassandra
nano /etc/yum.repos.d/cassandra.repo
Ajoutez les lignes suivantes :
[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
Enregistrez et fermez le fichier lorsque vous avez terminé, puis installez Apache Cassandra avec la commande suivante :
dnf install cassandra -y
Étape 4 - Créer un fichier de service pour Cassandra
Il est recommandé de créer un fichier de service pour gérer le service Apache Cassandra via systemd. Vous pouvez le créer avec la commande suivante :
nano /etc/systemd/system/cassandra.service
Ajoutez les lignes suivantes :
[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 et fermez le fichier, puis rechargez le démon systemd pour appliquer les modifications :
systemctl daemon-reload
Ensuite, démarrez et activez le service Cassandra avec la commande suivante :
systemctl start cassandra systemctl enable cassandra
Pour vérifier l'état d'Apache Cassandra, exécutez la commande suivante :
systemctl status cassandra
Vous devriez voir le résultat suivant :
● cassandra.service - Apache Cassandra Loaded: loaded (/etc/systemd/system/cassandra.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2022-04-30 07:54:46 EDT; 15s ago Main PID: 2170 (java) Tasks: 23 (limit: 23694) Memory: 1.1G CGroup: /system.slice/cassandra.service └─2170 /usr/bin/java -ea -da:net.openhft... -XX:+UseThreadPriorities -XX:+HeapDumpOnOutOfMemoryError -Xss256k -XX:+AlwaysPreTouch > Apr 30 07:55:00 oraclelinux cassandra[2170]: INFO [main] 2022-04-30 07:55:00,318 CassandraDaemon.java:640 - Classpath: /etc/cassandra/conf:/> Apr 30 07:55:00 oraclelinux cassandra[2170]: INFO [main] 2022-04-30 07:55:00,319 CassandraDaemon.java:642 - JVM Arguments: [-ea, -da:net.ope> Apr 30 07:55:00 oraclelinux cassandra[2170]: WARN [main] 2022-04-30 07:55:00,405 NativeLibrary.java:201 - Unable to lock JVM memory (ENOMEM)> Apr 30 07:55:00 oraclelinux cassandra[2170]: INFO [main] 2022-04-30 07:55:00,569 MonotonicClock.java:202 - Scheduling approximate time conve> Apr 30 07:55:00 oraclelinux cassandra[2170]: INFO [main] 2022-04-30 07:55:00,577 MonotonicClock.java:338 - Scheduling approximate time-check> Apr 30 07:55:00 oraclelinux cassandra[2170]: WARN [main] 2022-04-30 07:55:00,585 StartupChecks.java:143 - jemalloc shared library could not > Apr 30 07:55:00 oraclelinux cassandra[2170]: WARN [main] 2022-04-30 07:55:00,585 StartupChecks.java:187 - JMX is not enabled to receive remo> Apr 30 07:55:00 oraclelinux cassandra[2170]: INFO [main] 2022-04-30 07:55:00,590 SigarLibrary.java:44 - Initializing SIGAR library Apr 30 07:55:00 oraclelinux cassandra[2170]: WARN [main] 2022-04-30 07:55:00,603 SigarLibrary.java:174 - Cassandra server running in degrade> Apr 30 07:55:00 oraclelinux cassandra[2170]: WARN [main] 2022-04-30 07:55:00,604 StartupChecks.java:329 - Maximum number of memory map areas>
Étape 5 – Vérifier Apache Cassandra
Attendez un moment pour afficher complètement Apache Cassandra, puis vérifiez Apache Cassandra à l'aide de la commande suivante :
nodetool status
Vous obtiendrez l'erreur suivante :
nodetool: Failed to connect to '127.0.0.1:7199' - URISyntaxException: 'Malformed IPv6 address at index 7: rmi://[127.0.0.1]:7199'.
Pour résoudre cette erreur, ajoutez l'indicateur d'analyse "hérité" lors de l'exécution de nodetool :
nodetool -Dcom.sun.jndi.rmiURLParsing=legacy status
Vous devriez obtenir le résultat suivant :
Datacenter: datacenter1 ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 127.0.0.1 69.06 KiB 16 100.0% 91f2092e-f428-40f8-8093-efe820abe917 rack1
Ensuite, connectez-vous au shell Cassandra à l'aide de l'utilitaire cqlsh :
cqlsh
Une fois connecté, vous devriez obtenir le résultat suivant :
Connected to Test Cluster at 127.0.0.1:9042 [cqlsh 6.0.0 | Cassandra 4.0.3 | CQL spec 3.4.5 | Native protocol v5] Use HELP for help. cqlsh>
Étape 6 :Modifier le nom du cluster Cassandra
cqlsh
Ensuite, modifiez le nom du cluster avec la commande suivante :
cqlsh> UPDATE system.local SET cluster_name = 'Atlantic Cluster' WHERE KEY = 'local';
Ensuite, quittez le shell Cassandra avec la commande suivante :
cqlsh> exit
Ensuite, modifiez le fichier de configuration principal d'Apache Cassandra et définissez votre nouveau nom de cluster :
nano /etc/cassandra/default.conf/cassandra.yaml
Modifiez le nom du cluster Cassandra comme indiqué ci-dessous :
cluster_name: 'Atlantic Cluster'
Enregistrez et fermez le fichier, puis redémarrez Apache Cassandra pour appliquer les modifications :
systemctl restart cassandra
Maintenant, vérifiez le nom du cluster Cassandra avec la commande suivante :
cqlsh
Vous devriez obtenir votre nouveau nom de cluster dans la sortie suivante :
Connected to Atlantic Cluster at 127.0.0.1:9042 [cqlsh 6.0.0 | Cassandra 4.0.3 | CQL spec 3.4.5 | Native protocol v5] Use HELP for help.
Conclusion
Dans le guide ci-dessus, nous avons expliqué comment installer Apache Cassandra sur Oracle Linux 8. Vous pouvez maintenant utiliser Apache Cassandra pour gérer et gérer de grands ensembles de données. Essayez l'hébergement VPS d'Atlantic.Net !