Dans ce blog, nous expliquerons comment installer Apache Cassandra sur Ubuntu 20.10/Ubuntu 20.04. Apache Cassandra est une base de données NoSQL open source destinée à stocker de grandes quantités de données dans un cluster décentralisé et hautement disponible, à fournir une tolérance aux pannes, une cohérence sur plusieurs serveurs et une évolutivité linéaire.
Étapes pour installer Apache Cassandra sur Ubuntu
Étape 1 :Installez Java sur Ubuntu 20
$ sudo apt install openjdk-8-jdk
Sur mon système, Java était déjà là, il va donc être mis à niveau.
Étape 2 :Vérifier l'installation de Java
$ java -version
Exemple de sortie :
root@Cassandra :~# java -versionopenjdk version "1.8.0_292"OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~20.10-b10)OpenJDK 64-Bit Server VM (build 25.292-b10, mixte mode)
Étape 3 :Installez le package de dépendance :
$ sudo apt install apt-transport-https
Étape 4 :Importer la clé GPG :
$ wget -q -O - https://www.apache.org/dist/cassandra/KEYS | sudo apt-key ajouter -
Exemple de sortie :
root@Cassandra :~# wget -q -O - https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add -Attention :apt-key est obsolète. Gérez plutôt les fichiers de trousseau de clés dans Trusted.gpg.d (voir apt-key(8)).OKroot@Cassandra :~#
Étape 5 :Ajouter le référentiel d'Apache Cassandra
$ sudo sh -c 'echo "deb http://www.apache.org/dist/cassandra/debian 311x main"> /etc/apt/sources.list.d/cassandra.list'
Exemple de sortie :
root@Cassandra :~# sudo sh -c 'echo "deb http://www.apache.org/dist/cassandra/debian 311x main"> /etc/apt/sources.list.d/cassandra.list 'root@Cassandre :~#
Étape 6 :Mettre à jour le système Ubuntu
Mise à jour $ sudo apt
Étape 7 :Installez Apache Cassandra dans Ubuntu
$ sudo apt install cassandra
Vous pouvez également consulter la dernière version de Cassandra
Après l'installation, le service Cassandra démarre automatiquement.
Exemple de sortie :
root@Cassandra :~# sudo apt install cassandraLecture des listes de packages... TerminéCréation de l'arborescence des dépendances Lecture des informations d'état... TerminéLe package suivant a été automatiquement installé et n'est plus requis :virtualbox-guest-utilsUtilisez "sudo apt autoremove" pour supprimez-le. Les packages supplémentaires suivants seront installés :libpython2-stdlib libpython2.7-minimal libpython2.7-stdlibpython-is-python2 python2 python2-minimal python2.7 python2.7-minimalPackages suggérés :cassandra-tools python2-doc python- tk python2.7-doc binutils binfmt-supportLes NOUVEAUX packages suivants seront installés :cassandra libpython2-stdlib libpython2.7-minimal libpython2.7-stdlibpython-is-python2 python2 python2-minimal python2.7 python2.7-minimal0 mis à niveau, 9 nouvellement installé, 0 à supprimer et 332 non mis à jour. Besoin d'obtenir 34,4 Mo d'archives. Après cette opération, 56,9 Mo d'espace disque supplémentaire seront utilisés. Voulez-vous continuer ? [O/n] YGet:2 http://us.archive.ubuntu.com/ubuntu groovy/universe amd64 libpython2.7-minimal amd64 2.7.18-1build2 [335 kB]Get:1 https://downloads.apache .org/cassandra/debian 311x/main amd64 cassandra all 3.11.10 [30.7 MB]Obtenir :3 http://us.archive.ubuntu.com/ubuntu groovy/universe amd64 python2.7-minimal amd64 2.7.18-1build2 [1 264 ko]Obtenez :4 http://us.archive.ubuntu.com/ubuntu groovy/universe amd64 python2-minimal amd64 2.7.18-2 [13,5 ko]Obtenez :5 http://us.archive.ubuntu. com/ubuntu groovy/universe amd64 libpython2.7-stdlib amd64 2.7.18-1build2 [1 867 ko]Obtenir :6 http://us.archive.ubuntu.com/ubuntu groovy/universe amd64 python2.7 amd64 2.7.18- 1build2 [248 Ko]Obtenir :7 http://us.archive.ubuntu.com/ubuntu groovy/universe amd64 libpython2-stdlib amd64 2.7.18-2 [7 332 O]Obtenir :8 http://us.archive.ubuntu .com/ubuntu groovy/universe amd64 python2 amd64 2.7.18-2 [9 068 B]Obtenir :9 http://us.archive.ubuntu.com/ubuntu groovy/universe amd64 python-is-python2 tous les 2.7.17-4 [2 496 B]Récupéré 34,4 Mo en 1min 12s (474 ko/s) Sélection du package précédemment désélectionné libpython2.7-minimal:amd64.(Lecture de la base de données ... 155984 fichiers et répertoires actuellement installés.)Préparation de la décompression .../0-libpython2.7-minimal_2.7.18-1build2_amd64.deb ...Décompression libpython2.7-minimal:amd64 (2.7.18-1build2) ...Sélection du package précédemment désélectionné python2.7-minimal.Preparing to unpack .../1-python2.7-minimal_2.7.18-1build2_amd64.deb ... Déballage de python2.7-minimal (2.7.18-1build2) ...Sélection du paquet précédemment désélectionné python2-minimal.Preparing to unpack .../2-python2-minimal_2.7.18-2_amd64.deb ...Déballage de python2-minimal ( 2.7.18-2) ...Sélection du package précédemment désélectionné libpython2.7-stdlib:amd64.Preparing to unpack .../3-libpython2.7-stdlib_2.7.18-1build2_amd64.deb ...Unpacking libpython2.7-stdlib :amd64 (2.7.18-1build2) ...Sélection du paquet précédemment désélectionné python2.7.Preparing to unpack .../4-python2.7_2.7.18-1build2_amd64.deb ...Unpacking python2.7 (2.7.18- 1build2) ...Sélection d'un package précédemment désélectionné l ibpython2-stdlib:amd64.Preparing to unpack .../5-libpython2-stdlib_2.7.18-2_amd64.deb ...Unpacking libpython2-stdlib:amd64 (2.7.18-2) ...Configuration de libpython2.7-minimal :amd64 (2.7.18-1build2) ...Configuration de python2.7-minimal (2.7.18-1build2) ...Liaison et compilation d'octets pour l'exécution de python2.7...Configuration de python2-minimal (2.7 .18-2) ...Sélection du package python2 précédemment désélectionné.(Lecture de la base de données ... 156719 fichiers et répertoires actuellement installés.)Préparation de la décompression .../python2_2.7.18-2_amd64.deb ...Décompression de python2 (2.7. 18-2) ...Sélection du package précédemment désélectionné python-is-python2.Preparing to unpack .../python-is-python2_2.7.17-4_all.deb ...Unpacking python-is-python2 (2.7.17-4 ) ...Sélection du paquet cassandra précédemment désélectionné.Préparation du décompactage .../cassandra_3.11.10_all.deb ...Décompression de cassandra (3.11.10) ...Configuration de libpython2.7-stdlib:amd64 (2.7.18- 1build2) ...Configuration de python2.7 (2.7.18-1build2) ...Configuration de libpython2-stdlib:amd64 (2.7.18-2) ...Sett ing up python2 (2.7.18-2) ...Setting up python-is-python2 (2.7.17-4) ...Setting up cassandra (3.11.10) ...Adding group `cassandra' (GID 141) ...Done.vm.max_map_count =1048575net.ipv4.tcp_keepalive_time =300update-rc.d :avertissement :les actions de démarrage et d'arrêt ne sont plus prises en charge ; retour aux valeurs par défaut Traitement des déclencheurs pour mime-support (3.64ubuntu1) ... Traitement des déclencheurs pour gnome-menus (3.36.0-1ubuntu1) ... Traitement des déclencheurs pour systemd (246.6-1ubuntu1) ... Traitement des déclencheurs pour man-db (2.9.3-2) ...Traitement des déclencheurs pour desktop-file-utils (0.24-1ubuntu4) ...root@Cassandra:~#
Pour démarrer automatiquement le service Cassandra au démarrage :
sudo systemctl activer cassandra
Exemple de sortie :
root@Cassandra :~# sudo systemctl enable cassandracassandra.service n'est pas un service natif, redirigeant vers systemd-sysv-install.Exécution :/lib/systemd/systemd-sysv-install enable cassandraroot@Cassandra :~#Étape 8 :Vérifier l'état de Cassandra et de nodetool
$ sudo systemctl status cassandra
Vérifiez les statistiques de votre nœud
État de $ sudo nodetool
L'ONU les lettres dans la sortie signalent que le cluster fonctionne.
Étape 9 :Connectez-vous au terminal Cassandra
$ cqlsh
Exemple de sortie :
root@Cassandra :~# cqlshConnecté au cluster de test à 127.0.0.1:9042.[cqlsh 5.0.1 | Cassandre 3.11.10 | Spécification LCQ 3.4.4 | Protocole natif v4]Utilisez HELP pour help.cqlsh>Étape 10 :Configurer Apache Cassandra dans Ubuntu
- Fichiers de configuration -> /etc/cassandra
- Les données sont stockées –> /var/lib/cassandra
- Fichier de démarrage –> /etc/default/cassandra
Le nom de cluster Cassandra par défaut est "Test Cluster", pour mettre à jour la connexion du nom de cluster à Cassandra.
$ cqlsh
Dans mon cas, je vais définir le nom du cluster Cassandra sur "SysAdminXpert Cluster"
UPDATE system.local SET cluster_name ='SysAdminXpert Cluster' WHERE KEY ='local';
Commande pour quitter l'invite Cassandra
QUITTER ;
Nous vous recommandons de faire une sauvegarde avant de modifier le "cassandra.yaml" fichier
sudo cp /etc/cassandra/cassandra.yaml /etc/cassandra/cassandra.yaml.org-backup
Localisez et modifiez "cassandra.yaml" fichier et mettez à jour le nom du cluster.
$ sudo vim /etc/cassandra/cassandra.yaml
Recherchez le "cluster_name" et mettre à jour le nom du cluster, je l'ai défini sur "SysAdminXpert Cluster".
Ajoutez les adresses IP des nœuds Cassandra. Ouvrez le fichier de configuration et sous la section seed _provider, recherchez les seeds entrée :
Enregistrez et quittez "cassandra.yaml" fichier, pour refléter les modifications, redémarrez le service Cassandra.
Redémarrez le service Cassandra et vérifiez l'état :
$ sudo systemctl restart cassandra &&sudo systemctl status cassandra
Reconnectez-vous à Cassandra Terminal et vérifiez le nom du cluster qui est mis à jour comme indiqué ci-dessous.
$ cqlsh
Utilisation de Cassandra cqlsh :
Cassandra Query Language Shell (CQLSH) est essentiellement un moyen de communication entre Cassandra et l'utilisateur. CQLSH est une plate-forme qui permet à l'utilisateur de lancer le langage de requête Cassandra (CQL).
root@Cassandra :~# cqlsh --helpUsage :cqlsh.py [options] [host [port]]CQL Shell pour Apache CassandraOptions :--version affiche le numéro de version du programme et exit-h, --help affiche cette aide message et exit-C, --color Toujours utiliser la sortie couleur--no-color Ne jamais utiliser la sortie couleur--browser=BROWSER Le navigateur à utiliser pour afficher l'aide CQL, où BROWSER peut être :- l'un des navigateurs pris en charge dans https:// docs.python.org/2/library/webbrowser.html.- chemin du navigateur suivi de %s, exemple :/usr/bin/google-chrome-stable %s--ssl Utiliser SSL--no_compact Non Compact-u USERNAME, --username=USERNAMEAuthentifier en tant qu'utilisateur.-p PASSWORD, --password=PASSWORDAuthentifier à l'aide du mot de passe.-k KEYSPACE, --keyspace=KEYSPACEAuthentifier auprès de l'espace de clés donné.-f FILE, --file=FILE Exécuter les commandes à partir de FILE, puis quitter --debug Afficher des informations de débogage supplémentaires--encoding=ENCODING Spécifie un encodage autre que celui par défaut pour la sortie. (Par défaut :utf-8)--cqlshrc=CQLSHRC Spécifiez un autre emplacement de fichier cqlshrc.--cqlversion=CQLVERSIONSpécifiez une version CQL particulière, par défaut la version la plus élevée prise en charge par le serveur sera utilisée.Exemples :"3.0.3", " 3.1.0"--protocol-version=PROTOCOL_VERSIONSpécifiez une version de protocole spécifique, sinon le client passera par défaut et rétrogradera si nécessaire-e EXECUTE, --execute=EXECUTEExécute l'instruction et quitte.--connect-timeout=CONNECT_TIMEOUTSpécifie le délai de connexion en secondes ( par défaut :5 secondes).--request-timeout=REQUEST_TIMEOUTSpécifiez le délai d'expiration de la requête par défaut en secondes (par défaut :10 secondes).-t, --tty Force le mode tty (invite de commande).Se connecte à 127.0.0.1:9042 par défaut. Ces valeurs par défaut peuvent être modifiées en définissant $CQLSH_HOST et/ou $CQLSH_PORT. Lorsqu'un hôte (et un numéro de port facultatif) sont donnés sur la ligne de commande, ils ont priorité sur tout defaults.root@Cassandra:~#
Commande pour obtenir la version :
Cette commande vous montrera la version de cqlsh, Cassandra, CQL et du protocole natif.
Exemple :
root@Cassandra :~# cqlshConnecté au cluster SysAdminXpert à 127.0.0.1:9042.[cqlsh 5.0.1 | Cassandre 3.11.10 | Spécification LCQ 3.4.4 | Protocole natif v4]Utilisez HELP pour help.cqlsh>
Commande pour afficher l'hôte :
Cette commande vous montrera le nom du cluster, l'adresse IP avec le port.
Exemple :
cqlsh> show hostConnected to Test Cluster at 127.0.0.1:9042.cqlsh>
Commande pour DESCRIBE :
Cette commande donne la description de tous les éléments de schéma ci-dessous comme mentionné ci-dessous :
Syntaxe :
DESCRIBE CLUSTERDESCRIBE SCHEMADESCRIBE TABLESDESCRIBE TABLEDESCRIBE INDEX DESCRIBE KEYSPACESDESCRIBE KEYSPACE DESCRIBE TYPESDESCRIBE TYPE DESCRIBE FUNCTIONSDESCRIBE FUNCTION DESCRIBE AGGREGATESDESCRIBE AGGREGATE DESCRIBE VIEW MATERIAL
Exemple :
cqlsh> describe clusterCluster :SysAdminXpert ClusterPartitioner :Murmur3Partitionercqlsh>
Commande pour effacer la console :
Syntaxe :
CLEARCL
Fin de l'article. Nous avons vu comment installer Apache Cassandra sur Ubuntu 20.10.