Apache Cassandra ist ein verteiltes Open-Source-NoSQL-Datenbankverwaltungssystem. Cassandra kann horizontal skaliert werden, indem weitere Knoten hinzugefügt werden, über die Daten automatisch repliziert werden. Knoten können ohne Ausfallzeit hinzugefügt oder entfernt werden. Die Knoten können logisch als Cluster oder Ring organisiert und über mehrere Rechenzentren hinweg eingerichtet werden, um die Geschwindigkeit und Zuverlässigkeit für Hochleistungsanwendungen zu verbessern.
In diesem Tutorial lernen wir, wie man Apache Cassandra auf AlmaLinux und Rocky Linux 8 OS installiert. Die Befehle für beide Betriebssysteme sind identisch, sofern nicht anders angegeben.
Voraussetzungen
-
Ein Server mit AlmaLinux oder Rocky Linux und mindestens 2 GB RAM.
-
Ein Nicht-Sudo-Benutzer mit Root-Rechten.
-
Alles ist aktualisiert.
$ sudo dnf aktualisieren
Schritt 1 – Java installieren
Apache Cassandra benötigt Java 8, um zu funktionieren. Die neueste Version von Cassandra enthält experimentelle Unterstützung für Java 11, aber für unser Tutorial bleiben wir bei der Verwendung von Java 8.
$ sudo dnf install java-1.8.0-openjdk java-1.8.0-openjdk-devel
Bestätigen Sie die Java-Installation.
$ java -versionopenjdk version "1.8.0_312"OpenJDK Runtime Environment (build 1.8.0_312-b07)OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)
Schritt 2 – Apache Cassandra installieren
Der erste Schritt besteht darin, das offizielle Repository von Cassandra hinzuzufügen.
Führen Sie den folgenden Befehl aus, um die Repository-Datei /etc/yum.repos.d/cassandra.repo
zu erstellen und geben Sie die Details ein.
$ sudo tee /etc/yum.repos.d/cassandra.repo <[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> EOF
Nachdem die Repo-Datei erstellt wurde, installieren Sie Cassandra.
$ sudo dnf install cassandra -y
Schritt 3 – Cqlsh installieren
Wir verwenden die CQL-Shell (cqlsh )-Tool, um mit Cassandra zu interagieren. Das Tool ist mit Python 2.7 oder Python 3.6+ kompatibel. Für unser Tutorial verwenden wir Python 3.8. Installieren Sie Python 3.8.
$ sudo dnf install python38
Legen Sie Python 3.8 als Standard-Python-Version fest.
$ sudo update-alternatives --config pythonEs gibt 3 Programme, die 'python' bereitstellen. Auswahlbefehl---------------------------------------------* + 1 /usr/libexec/no-python 2 /usr/bin/python3 3 /usr/bin/python3.8Enter, um die aktuelle Auswahl beizubehalten[+], oder geben Sie die Auswahlnummer ein:3
Ihnen werden mehrere Optionen angezeigt. Wir wählen Nummer 3, um in unserem Fall Python 3.8 als Standardversion festzulegen.
Bestätigen Sie die Python-Installation.
$ python --versionPython 3.8.8
Nach Verwendung der update-alternatives
Dienstprogramm, müssen Sie nicht python3
verwenden Befehl.
Installieren Sie cqlsh Verwenden Sie den Pip-Python-Paketmanager.
$ pip3 install --user cqlsh
Bestätigen Sie cqlsh installieren.
$ cqlsh --versioncqlsh 6.0.0
Schritt 4 – Erstellen Sie eine Systemd-Unit-Datei für Cassandra
Erstellen und öffnen Sie /etc/systemd/system/cassandra.service
zum Bearbeiten.
$ sudo nano /etc/systemd/system/cassandra.service
Fügen Sie den folgenden Code ein.
[Unit]Description=Apache CassandraAfter=network.target[Service]PIDFile=/var/run/cassandra/cassandra.pidUser=cassandraGroup=cassandraExecStart=/usr/sbin/cassandra -f -p /var/run/cassandra /cassandra.pidRestart=always[Install]WantedBy=multi-user.target
Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.
Laden Sie den Service-Daemon neu.
$ sudo systemctl daemon-reload
Aktivieren und starten Sie den Cassandra-Dienst.
$ sudo systemctl enable cassandra --now
Überprüfen Sie den Status des Dienstes.
$ sudo systemctl status cassandra? cassandra.service - Apache Cassandra Geladen:geladen (/etc/systemd/system/cassandra.service; aktiviert; Herstellervoreinstellung:deaktiviert) Aktiv:aktiv (läuft) seit Do 30.12.2021 11:07:43 UTC; Vor 12 Sekunden Haupt-PID:4679 (Java) Aufgaben:48 (Grenze:23696) Speicher:1,3 GB CGroup:/system.slice/cassandra.service ??4679 /usr/bin/java -ea -da:net.openhft.. -XX:+UseThreadPriorities -XX:+HeapDumpOnOutOfMemoryError -Xss256>
Sie können den Status auch mit dem nodetool
überprüfen Befehl.
$ nodetool statusDatacenter:datacenter1=======================Status=Up/Down|/ State=Normal/Leaving/Joining/Moving-- Adresse Token laden Besitzt (effektiv) Host-ID RackUN 127.0.0.1 69,09 KiB 16 100,0 % 2fe7ccae-2af9-4841-9bff-bffa29f10dc5 rack1
Schritt 5 – Cassandra konfigurieren
Der Standardspeicherort der Konfigurationsdateien für Cassandra ist /etc/cassandra
. Der Standardspeicherort für die Protokoll- und Datenverzeichnisse ist /var/log/cassandra
und /var/lib/cassandra
.
Einstellungen auf JVM-Ebene wie die Heap-Größe können über /etc/cassandra/conf/cassandra-env.sh
festgelegt werden Datei. Sie können zusätzliche JVM-Befehlszeilenargumente an JVM_OPTS
übergeben Variable. Die Argumente werden beim Start an Cassandra übergeben.
5.1 Benutzerauthentifizierung aktivieren
Erstellen Sie zum Aktivieren der Benutzerauthentifizierung zunächst eine Sicherungskopie von /etc/cassandra/conf/cassandra.yaml
Datei.
$ sudo cp /etc/cassandra/conf/cassandra.yaml /etc/cassandra/conf/cassandra.yaml.backup
Öffnen Sie die cassandra.yaml
Datei zum Bearbeiten.
$ sudo nano /etc/cassandra/conf/cassandra.yaml
Suchen Sie die folgenden Parameter in dieser Datei.
authenticator:AllowAllAuthenticatorauthorizer:AllowAllAuthorizerroles_validity_in_ms:2000permissions_validity_in_ms:2000
Ändern Sie die Werte der Parameter wie unten angegeben.
Sie können andere Einstellungen basierend auf Ihren Anforderungen konfigurieren. Wenn sie kommentiert sind, kommentieren Sie sie aus.
Wenn Sie fertig sind, speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.
Starten Sie Cassandra neu, um die geänderten Einstellungen zu aktivieren.
$ sudo systemctl cassandra neu starten
5.1.1 – Administrator-Superuser hinzufügen
Nachdem wir die Authentifizierung aktiviert haben, müssen wir einen Benutzer erstellen. Dazu verwenden wir das Shell-Dienstprogramm Cassandra Command. Melden Sie sich mit den Zugangsdaten für den Standardbenutzer cassandra
an .
$ cqlsh -u Kassandra -p Kassandra
Erstellen Sie einen neuen Superuser. Ersetzen Sie [username]
und [yourpassword]
mit Ihren Anmeldeinformationen.
[email protected]> CREATE ROLE [username] WITH PASSWORD ='[yourpassword]' AND SUPERUSER =true AND LOGIN =true;
Abmelden.
[email protected]> beenden
Melden Sie sich erneut mit dem neuen Superuser-Konto an.
$ cqlsh -u Benutzername -p IhrPasswort
Entfernen Sie die erhöhten Berechtigungen von der Standardeinstellung cassandra
Konto.
[email protected]> ALTER ROLE cassandra WITH PASSWORD ='cassandra' AND SUPERUSER =false AND LOGIN =false;[email protected]> WIDERRUFEN SIE ALLE BERECHTIGUNGEN AUF ALLEN SCHLÜSSELRÄUMEN VON cassandra;
Gewähren Sie dem Superuser-Konto alle Berechtigungen.
[email protected]> GEWÄHREN SIE '[Benutzername]' ALLE BERECHTIGUNGEN AUF ALLEN SCHLÜSSELRÄUMEN;
Abmelden.
[email protected]> beenden
5.2 - Bearbeiten Sie die Konsolenkonfigurationsdatei
Wenn Sie die Cassandra-Shell anpassen möchten, können Sie dies tun, indem Sie cqlshrc
bearbeiten Datei. Der Standardspeicherort für die Datei ist ~/.cassandra
Verzeichnis. Wenn Sie es aus einem anderen Verzeichnis laden möchten, können Sie das Argument --cqlshrc /customdirectory
übergeben zum cqlsh
Werkzeug während der Ausführung.
Eine Beispieldatei finden Sie unter /etc/cassandra/conf/cqlshrc.sample
enthält alle Einstellungen, die Sie bezüglich der Cassandra-Shell konfigurieren können.
Kopieren Sie die Beispieldatei und benennen Sie sie in ~/.cassandra
um Verzeichnis.
$ sudo cp /etc/cassandra/conf/cqlshrc.sample ~/.cassandra/cqlshrc
Aktualisieren Sie cqlshrc
Datei mit den erforderlichen Berechtigungen.
$ sudo chmod 600 ~/.cassandra/cqlshrc$ sudo chown $USER:$USER ~/.cassandra/cqlshrc
Öffnen Sie die Datei zum Bearbeiten.
$ nano ~/.cassandra/cqlshrc
Wir werden die Shell so konfigurieren, dass sie sich automatisch mit den Superuser-Anmeldeinformationen anmeldet. Suchen Sie den folgenden Abschnitt und füllen Sie ihn mit Ihrem Benutzernamen und Passwort aus.
....[Authentifizierung];; Wenn Cassandra die Authentifizierung aktiviert hat, füllen Sie diese Optionen aus username =[superuser]password =[password]....
Bearbeiten Sie alle anderen Einstellungen, die Sie ändern möchten. Einige der Einstellungen werden mit ;;
kommentiert . Entkommentieren Sie sie, indem Sie doppelte Semikolons entfernen, und nehmen Sie dann die Änderung vor.
Wenn Sie fertig sind, speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.
Melden Sie sich mit Ihren neuen Änderungen bei der Cassandra-Shell an.
$ cqlshConnected to Test Cluster at 127.0.0.1:9042[cqlsh 6.0.0 | Kassandra 4.0.1 | CQL-Spezifikation 3.4.5 | Natives Protokoll v5]Verwenden Sie HILFE für Hilfe.[email protected]>
5.3 - Cluster umbenennen
Schließlich werden wir den Clusternamen von Test Cluster umbenennen zu Ihrem gewählten Namen.
Melden Sie sich bei cqlsh
an Endgerät.
$cqlsh
Ersetzen Sie [clustername]
mit Ihrem neuen Clusternamen im folgenden Befehl.
[email protected]> UPDATE system.local SET cluster_name ='[new_name]' WHERE KEY ='local';
Verlassen Sie die Shell
[email protected]> beenden
Öffnen Sie die Datei /etc/cassandra/conf/cassandra.yaml
zum Bearbeiten.
$ sudo nano /etc/cassandra/conf/cassandra.yaml
Ersetzen Sie den Wert der Variablen cluster_name
mit dem Namen Ihrer Wahl.
...# Der Name des Clusters. Dies wird hauptsächlich verwendet, um zu verhindern, dass Maschinen in # einem logischen Cluster einem anderen beitreten.cluster_name:'[new_name]'...
Wenn Sie fertig sind, speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.
Löschen Sie den Cassandra-Systemcache.
$ nodetool Flush-System
Cassandra neu starten.
$ sudo systemctl cassandra neu starten
Melden Sie sich bei der Shell an, um den neuen Namen anzuzeigen.
$ cqlshConnected to HowtoForge Cluster at 127.0.0.1:9042[cqlsh 6.0.0 | Kassandra 4.0.1 | CQL-Spezifikation 3.4.5 | Natives Protokoll v5]Verwenden Sie HILFE für Hilfe.[email protected]>
Schlussfolgerung
In diesem Tutorial haben Sie gelernt, wie Sie Apache Cassandra auf einem AlmaLinux- oder Rocky-Linux-Server installieren. Sie haben auch gelernt, wie Sie eine Benutzerauthentifizierung hinzufügen und einige grundlegende Konfigurationen durchführen. Um mehr zu erfahren, besuchen Sie die offizielle Cassandra-Dokumentation. Wenn Sie Fragen haben, posten Sie diese in den Kommentaren unten.