Apache Cassandra est une solution de base de données post-relationnelle open source distribuée, hautes performances, extrêmement évolutive et tolérante aux pannes. Il peut servir à la fois de magasin de données en temps réel pour les applications en ligne/transactionnelles et de base de données à lecture intensive pour les systèmes d'informatique décisionnelle.
Base de données relationnelle contre Cassandra
Les systèmes de bases de données relationnelles gèrent une vitesse modérée des données entrantes et récupèrent les données à partir d'un ou de quelques emplacements. Il gère principalement des données structurées et prend en charge des transactions complexes/imbriquées avec des points de défaillance uniques avec basculement.
Cassandra gère la vitesse élevée des données entrantes en récupérant les données à partir de nombreux emplacements. Il gère tous les types de données et prend en charge des transactions simples sans point de défaillance unique; il offre une disponibilité constante. De plus, il offre une évolutivité en lecture/écriture.
Dans cet article, je fournis les directives sur la façon dont j'ai installé Apache Cassandra et exécuté un cluster à nœud unique sur mon serveur Ubuntu 16.04.
Prérequis
- Il nécessite une plate-forme Java pour fonctionner
- Un utilisateur pour exécuter cette application
Installer Java
Cassandra a besoin de l'application Java pour s'exécuter sur votre serveur, assurez-vous d'avoir installé la dernière version de Java. Vous pouvez mettre à jour les packages du référentiel APT et installer Java. Cassandra 3 ou version ultérieure nécessite l'installation de la version Java 8+.
root@ubuntu:~# apt-get update
root@ubuntu:~# apt-get install default-jdk
Setting up default-jdk (2:1.8-56ubuntu2) ...
Setting up gconf-service-backend (3.2.6-3ubuntu6) ...
Setting up gconf2 (3.2.6-3ubuntu6) ...
Setting up libgnomevfs2-common (1:2.24.4-6.1ubuntu1) ...
Setting up libgnomevfs2-0:amd64 (1:2.24.4-6.1ubuntu1) ...
Setting up libgnome2-common (2.32.1-5ubuntu1) ...
Setting up libgnome-2-0:amd64 (2.32.1-5ubuntu1) ...
Processing triggers for libc-bin (2.23-0ubuntu3) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for systemd (229-4ubuntu4) ...
Processing triggers for ca-certificates (20160104ubuntu1) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
done.
Vous pouvez confirmer la version Java installée.
root@ubuntu:~# java -version
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-0ubuntu4~16.04.1-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
Création d'un utilisateur pour exécuter Cassandra
Il est toujours recommandé d'exécuter cette application en tant qu'utilisateur au lieu de root. Par conséquent, j'ai créé mon utilisateur Cassandra pour exécuter cette application.
root@ubuntu:~# groupadd cassandra
root@ubuntu:~# useradd -d /home/cassandra -s /bin/bash -m -g cassandra cassandra
root@ubuntu:~# grep cassandra /etc/passwd
cassandra:x:1000:1000::/home/cassandra:/bin/bash
Télécharger et installer Cassandre
Nous pouvons maintenant télécharger la dernière version d'Apache Cassandra à partir d'ici et la copier dans votre répertoire préféré. J'ai téléchargé ce fichier tar dans mon dossier /tmp et j'ai extrait le contenu dans ma "maison" cassandra là-bas.
root@ubuntu:/tmp# wget http://mirror.cc.columbia.edu/pub/software/apache/cassandra/3.6/apache-cassandra-3.6-bin.tar.gz
--2016-06-12 08:36:47-- http://mirror.cc.columbia.edu/pub/software/apache/cassandra/3.6/apache-cassandra-3.6-bin.tar.gz
Resolving mirror.cc.columbia.edu (mirror.cc.columbia.edu)... 128.59.59.71
Connecting to mirror.cc.columbia.edu (mirror.cc.columbia.edu)|128.59.59.71|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 35552323 (34M) [application/x-gzip]
Saving to: ‘apache-cassandra-3.6-bin.tar.gz’
apache-cassandra-3.6-bin.tar.gz 100%[===================================================================>] 33.91M 6.43MB/s in 12s
2016-06-12 08:37:01 (2.93 MB/s) - ‘apache-cassandra-3.6-bin.tar.gz’ saved [35552323/35552323]
root@ubuntu:/tmp# tar -xvf apache-cassandra-3.6-bin.tar.gz -C /home/cassandra --strip-components=1
Corriger les propriétés et définir les variables
Vous pouvez corriger les propriétaires des fichiers et définir des variables d'environnement appropriées pour exécuter cette application en douceur.
root@ubuntu:/home/cassandra# export CASSANDRA_HOME=/home/cassandra
root@ubuntu:/home/cassandra# export PATH=$PATH:$CASSANDRA_HOME/bin
root@ubuntu:/home/cassandra# chown -R cassandra.cassandra .
Vous pouvez maintenant passer à l'utilisateur cassandra et exécuter cette application comme ci-dessous :
cassandra@ubuntu:~$ sh bin/cassandra
INFO 09:10:39 Cassandra version: 3.6
INFO 09:10:39 Thrift API version: 20.1.0
INFO 09:10:39 CQL supported versions: 3.4.2 (default: 3.4.2)
INFO 09:10:39 Initializing index summary manager with a memory pool size of 24 MB and a resize interval of 60 minutes
INFO 09:10:39 Starting Messaging Service on localhost/127.0.0.1:7000 (lo)
INFO 09:10:39 Loading persisted ring state
INFO 09:10:39 Starting up server gossip
INFO 09:10:39 Updating topology for localhost/127.0.0.1
INFO 09:10:39 Updating topology for localhost/127.0.0.1
INFO 09:10:39 Node localhost/127.0.0.1 state jump to NORMAL
Cette sortie signifie que votre serveur Cassandra est opérationnel et fonctionne correctement maintenant. Nous pouvons maintenant vérifier et confirmer l'état de notre cluster avec cette commande.
root@ubuntu:/home/cassandra# 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 142.65 KiB 256 100.0% fc76be14-acde-47d4-a4a2-5d015804bb3c rack1
The status and state notation UN means it is up and normal.
Nous avons terminé l'installation du cluster Single Node Cassandra. Nous pouvons maintenant voir comment se connecter à notre cluster.
Se connecter à notre cluster
Nous pouvons exécuter ce script shell "cqlsh " pour se connecter à notre nœud de cluster.
Ce sont les différentes commandes CQL utilisées dans Cassandra. Vous pouvez obtenir plus d'informations sur son utilisation ici.
Salut! nous en avons terminé avec un cluster Cassandra à nœud unique dans notre serveur Ubuntu 16.04. J'espère que vous avez aimé lire ceci. Je recommanderais vos précieux commentaires et suggestions à ce sujet.
Merci !