So installierst du Apache Cassandra unter Ubuntu 22.04
Cassandra ist ein kostenloses, quelloffenes NoSQL-Datenbankmanagementsystem, das für die Verwaltung großer Datenmengen entwickelt wurde. Cassandra verwendet eine dynamische Replikation. Diese Replikate werden auf mehreren Knotenpunkten gespeichert und bieten so eine hohe Verfügbarkeit und null Fehlerpunkte. Cassandra ist ideal für IoT- und andere Anwendungen wie Social Media Analytics, Messaging-Dienste und Einzelhandelsanwendungen, bei denen große Datenmengen gesammelt werden. Viele große Unternehmen, darunter Netflix, Facebook, Cisco, Hulu, Twitter und viele mehr, nutzen Apache Cassandra.
In diesem Tutorial wird erklärt, wie du Apache Cassandra unter Ubuntu 22.04 installierst.
Voraussetzungen
- Ein Server, auf dem Ubuntu 22.04 läuft.
- Ein Root-Passwort ist auf dem Server eingerichtet.
Installiere Java 8
Apache Cassandra unterstützt nur die Java-Version 8. Du musst sie also auf deinem Server installieren. Du kannst es installieren, indem du den folgenden Befehl ausführst:
apt-get install openjdk-8-jdk -y
Sobald Java installiert ist, überprüfe die Java-Installation mit folgendem Befehl:
java -version
Du erhältst die folgende Ausgabe:
openjdk version "1.8.0_312" OpenJDK Runtime Environment (build 1.8.0_312-8u312-b07-0ubuntu1-b07) OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)
Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.
Apache Cassandra Repository hinzufügen
Standardmäßig ist das Apache Cassandra-Paket nicht im Standard-Repository von Ubuntu 22.04 enthalten. Daher musst du das offizielle Cassandra-Repository zur APT hinzufügen.
Installiere zunächst die erforderlichen Abhängigkeiten mit dem folgenden Befehl:
apt-get install apt-transport-https gnupg2 -y
Sobald alle Abhängigkeiten installiert sind, importierst du den Cassandra-GPG-Schlüssel mit dem folgenden Befehl:
wget -q -O - https://www.apache.org/dist/cassandra/KEYS | apt-key add -
Als Nächstes fügst du das Cassandra-Repository mit folgendem Befehl zur APT hinzu:
sh -c 'echo "deb http://www.apache.org/dist/cassandra/debian 311x main" > /etc/apt/sources.list.d/cassandra.list'
Als Nächstes aktualisierst du den Cache des Repositorys mit dem folgenden Befehl:
apt-get update -y
Sobald dein System-Repository aktualisiert ist, kannst du mit dem nächsten Schritt fortfahren.
Cassandra auf Ubuntu 22.04 installieren
Jetzt kannst du Apache Cassandra installieren, indem du einfach den folgenden Befehl ausführst:
apt-get install cassandra -y
Sobald Apache Cassandra installiert ist, kannst du den Status von Cassandra mit dem folgenden Befehl überprüfen:
systemctl status cassandra
Du erhältst die folgende Ausgabe:
? cassandra.service - LSB: distributed storage system for structured data Loaded: loaded (/etc/init.d/cassandra; generated) Active: active (running) since Thu 2022-05-05 11:57:22 UTC; 40s ago Docs: man:systemd-sysv-generator(8) Process: 24707 ExecStart=/etc/init.d/cassandra start (code=exited, status=0/SUCCESS) Tasks: 57 (limit: 4630) Memory: 1.2G CPU: 15.952s CGroup: /system.slice/cassandra.service ??24800 /usr/bin/java -Xloggc:/var/log/cassandra/gc.log -ea -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -XX:+HeapDumpOn> May 05 11:57:22 ubuntu2204 systemd[1]: Starting LSB: distributed storage system for structured data... May 05 11:57:22 ubuntu2204 systemd[1]: Started LSB: distributed storage system for structured data.
Mit folgendem Befehl kannst du auch den lauschenden Port von Cassandra überprüfen:
ss -antpl | grep java
Du erhältst die folgende Ausgabe:
LISTEN 0 500 127.0.0.1:7000 0.0.0.0:* users:(("java",pid=24800,fd=86)) LISTEN 0 50 127.0.0.1:45049 0.0.0.0:* users:(("java",pid=24800,fd=83)) LISTEN 0 50 127.0.0.1:7199 0.0.0.0:* users:(("java",pid=24800,fd=82)) LISTEN 0 4096 127.0.0.1:9042 0.0.0.0:* users:(("java",pid=24800,fd=100))
Wie man Apache Cassandra verbindet
Als erstes musst du den Status von Apache Cassandra überprüfen. Du kannst ihn mit dem folgenden Befehl überprüfen:
nodetool status
Du erhältst die folgende Ausgabe:
Datacenter: datacenter1 ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 127.0.0.1 70.93 KiB 256 100.0% eaa94d10-69c6-405d-b7bd-4b3dcbd380be rack1
Du kannst nun das Dienstprogramm cqlsh verwenden, um dich mit der Cassandra-Shell zu verbinden:
cqlsh
Sobald du verbunden bist, erhältst du die folgende Ausgabe:
Connected to Test Cluster at 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 3.11.12 | CQL spec 3.4.4 | Native protocol v4] Use HELP for help. cqlsh>
Verlasse die Cassandra-Shell mit folgendem Befehl:
cqlsh> exit
Cassandra Cluster Name ändern
Standardmäßig ist der Name des Cassandra-Clusters auf Test-Cluster eingestellt. Es wird empfohlen, ihn durch einen aussagekräftigen Namen zu ändern.
Verbinde dich dazu mit folgendem Befehl mit Cassandra:
cqlsh
Sobald du verbunden bist, änderst du den Clusternamen in „Cassandra Cluster“, wie unten gezeigt:
cqlsh> UPDATE system.local SET cluster_name = 'Cassandra Cluster' WHERE KEY = 'local';
Als Nächstes beendest du Cassandra mit dem folgenden Befehl:
cqlsh> exit
Als Nächstes musst du auch die Cassandra-Konfigurationsdatei bearbeiten und den Clusternamen ändern. Du kannst sie mit dem folgenden Befehl bearbeiten:
nano /etc/cassandra/cassandra.yaml
Ändere die folgende Zeile:
cluster_name: 'Cassandra Cluster'
Speichere und schließe die Datei, wenn du fertig bist, und leere den Systemcache mit folgendem Befehl:
nodetool flush system
Starte anschließend den Cassandra-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart cassandra
Jetzt kannst du den Namen des Cassandra-Clusters mit folgendem Befehl überprüfen:
cqlsh
Wenn alles in Ordnung ist, siehst du in der folgenden Ausgabe einen neuen Clusternamen:
Connected to Cassandra Cluster at 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 3.11.12 | CQL spec 3.4.4 | Native protocol v4] Use HELP for help. cqlsh>
Fazit
Glückwunsch! Du hast Apache Cassandra erfolgreich auf Ubuntu 22.04 installiert. Jetzt kannst du Cassandra in einer Cluster-Umgebung verwenden, um große Datenmengen zu verarbeiten. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.