Database
 sql >> Base de données >  >> RDS >> Database

Comment installer Apache Cassandra sur Ubuntu 20.10/Ubuntu 20.04

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 TABLE DESCRIBE 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.