Apache Cassandra ist eine hoch skalierbare, leistungsstarke verteilte Datenbank, die für die Verarbeitung großer Datenmengen auf vielen Standardservern konzipiert ist und eine hohe Verfügbarkeit ohne einzelne Ausfallpunkte bietet. Sie ist bekannt für ihre robuste Unterstützung von Clustern, die sich über mehrere Rechenzentren erstrecken, wobei die asynchrone Masterless-Replikation geringe Latenzzeiten und einfache Bedienung ermöglicht. Cassandra ist ideal für Anwendungen, die einen hohen Schreibdurchsatz, Fehlertoleranz und lineare Skalierbarkeit erfordern.
Die folgende Anleitung zeigt die Schritte zur Installation von Apache Cassandra auf Rocky Linux 9 oder 8 mithilfe von Befehlszeilenbefehlen. Dieser Vorgang umfasst das Einrichten des entsprechenden Repositorys und die Konfiguration Ihres Systems, um optimale Leistung und Zuverlässigkeit für Ihre verteilte Datenbankumgebung sicherzustellen.
Aktualisieren Sie das Rocky Linux-System vor der Installation von Apache Cassandra
Bevor Sie Apache Cassandra installieren, sollten Sie zunächst sicherstellen, dass alle Systempakete auf dem neuesten Stand sind, um mögliche Probleme bei der Installation der NoSQL-Datenbank zu vermeiden.
Führen Sie in Ihrem Terminal den folgenden Befehl aus und aktualisieren Sie alle ausstehenden Pakete.
sudo dnf upgrade --refresh
Apache Cassandra-Repository importieren
Der erste Schritt besteht darin, das Repository für Apache Cassandra zu importieren. Glücklicherweise können Sie dies mit einem einzigen Befehl erledigen. Das Tutorial zeigt, wie Sie die Zweige 5.0, 4.0 oder 4.1 importieren. Da sich der Zweig 3.xx seinem Ende nähert, enthält das Tutorial keine Anweisungen zum Hinzufügen dieser Zweige.
4.0 Apache Cassandra RPM-Import
sudo tee /etc/yum.repos.d/cassandra-4.0.repo<<EOF
[cassandra]
name=Apache Cassandra 4.0
baseurl=https://redhat.cassandra.apache.org/41x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
EOF
4.1 Apache Cassandra RPM-Import
sudo tee /etc/yum.repos.d/cassandra-4.1.repo<<EOF
[cassandra]
name=Apache Cassandra 4.1
baseurl=https://redhat.cassandra.apache.org/41x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
EOF
5.0 Apache Cassandra RPM-Import
sudo tee /etc/yum.repos.d/cassandra-5.0.alpha.repo<<EOF
[cassandra]
name=Apache Cassandra 5.0
baseurl=https://redhat.cassandra.apache.org/50x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
EOF
Installieren Sie Apache Cassandra über den DNF-Befehl
Mit folgendem Befehl können Sie Cassandra installieren, das Repository wurde importiert.
sudo dnf install cassandra -y
Bestätigen Sie die installierte Version, indem Sie den folgenden Befehl ausführen.
cassandra -v
Beachten Sie, ob beim Importieren von GPG-Schlüsseln der folgende Fehler auftritt.
Key import failed (code 2). Failing package is: cassandra-4.1~alpha1-1.noarch
GPG Keys are configured as: https://www.apache.org/dist/cassandra/KEYS
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Ändern Sie die Kryptorichtlinien und setzen Sie die Richtlinie auf LEGACY.
sudo update-crypto-policies --set LEGACY
Manchmal ist ein Neustart erforderlich, damit diese Änderung erfolgreich durchgeführt wird. Ich habe festgestellt, dass dies nicht erforderlich ist, aber es wird empfohlen.
reboot
Erstellen Sie den Apache Cassandra Systemd-Dienst
Nachdem die Installation abgeschlossen ist, müssen Sie den systemd-Dienst erstellen. Auch dies ist eine einfache Aufgabe; kopieren und fügen Sie den folgenden Befehl ein, um die Datei zu erstellen.
sudo tee /etc/systemd/system/cassandra.service<<EOF
[Unit]
Description=Apache Cassandra
After=network.target
[Service]
Type=simple
PIDFile=/var/run/cassandra/cassandra.pid
User=cassandra
Group=cassandra
ExecStart=/usr/sbin/cassandra -f -p /var/run/cassandra/cassandra.pid
Restart=always
[Install]
WantedBy=multi-user.target
EOF
Sie müssen den Daemon neu laden, um den Cassandra-Dienst zu verwenden, und Sie können diesen Schritt nicht überspringen.
sudo systemctl daemon-reload
Starten Sie jetzt den Cassandra-Dienst.
sudo systemctl start cassandra
Überprüfen Sie als Nächstes den Systemctl-Status von Cassandra, um sicherzustellen, dass keine Fehler vorliegen.
systemctl status cassandra
Optional können Sie den Cassandra-Dienst beim automatischen Start Ihres Computers oder Servers mit dem folgenden Befehl aktivieren.
sudo systemctl enable cassandra
Installieren Sie den Apache Cassandra Client (cqlsh) auf Rocky Linux
Installieren Sie Python
Stellen Sie vor der Installation des Cassandra-Clients sicher, dass Python auf Ihrem System verfügbar ist. Der Apache Cassandra-Client, cqlsh
, basiert auf Python, sodass Python eine Voraussetzung ist. Installieren Sie Python auf Rocky Linux, indem Sie Folgendes ausführen:
sudo dnf install python3 -y
Installieren von PIP
Installieren Sie als Nächstes PIP, den Paketmanager von Python, zur Verwaltung von Python-Paketen. PIP ist für die Installation des Cassandra-Python-Treibers erforderlich. Wenn PIP noch nicht auf Ihrem System installiert ist, fügen Sie es hinzu, indem Sie Folgendes ausführen:
sudo dnf install python3-pip -y
Installieren Sie den Cassandra Python-Treiber
Der Cassandra Python-Treiber ist erforderlich für cqlsh
um eine Verbindung zur Cassandra-Datenbank herzustellen. Dieser Treiber ermöglicht die Kommunikation zwischen dem Client und der Datenbank. Installieren Sie den Treiber mithilfe von PIP mit dem folgenden Befehl:
pip install cassandra-driver
Installieren von cqlsh
Wenn die Voraussetzungen erfüllt sind, können Sie nun mit der Installation beginnen. cqlsh
. Diese Befehlszeilenschnittstelle ermöglicht die Interaktion mit Apache Cassandra, sodass Sie Abfragen ausführen und Ihre Datenbank verwalten können. Installieren cqlsh
durch Ausführen von:
pip install cqlsh
Stellen Sie abschließend mit dem folgenden Befehl eine Verbindung mit cqlsh her.
cqlsh
Beispielausgabe Ihrer erfolgreichen Verbindung:
[cqlsh 6.1.0 | Cassandra 4.1-alpha1 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
cqlsh>
Konfigurieren Sie Apache Cassandra
Das Einrichten und Personalisieren von Cassandra erfordert Änderungen an den Konfigurationsdateien und die Verwendung bestimmter Befehlszeilenprogramme.
Einrichten der Grundkonfiguration
Die wichtigsten Konfigurationsdateien für Cassandra befinden sich in /etc/cassandra
. Protokolle und Datenverzeichnisse befinden sich normalerweise unter /var/log/cassandra
Und /var/lib/cassandra
jeweils.
Für Anpassungen auf JVM-Ebene, wie z. B. die Heap-Größe, schauen Sie sich den /etc/cassandra/conf/cassandra-env.sh
Datei. In dieser Datei können Sie zusätzliche JVM-Befehlszeilenargumente zur JVM_OPTS
Variable, die Cassandra beim Start liest.
Aktivieren der Benutzerauthentifizierung mit Apache Cassandra
Bevor Sie die Benutzerauthentifizierung aktivieren, sollten Sie eine Sicherungskopie der /etc/cassandra/conf/cassandra.yaml
Datei:
sudo cp /etc/cassandra/conf/cassandra.yaml /etc/cassandra/conf/cassandra.yaml.backup
Öffnen Sie anschließend die cassandra.yaml
Datei:
sudo nano /etc/cassandra/conf/cassandra.yaml
Innerhalb der Datei möchten Sie nach diesen Parametern suchen und diese ändern:
authenticator: org.apache.cassandra.auth.PasswordAuthenticator
authorizer: org.apache.cassandra.auth.CassandraAuthorizer
roles_validity_in_ms: 0
permissions_validity_in_ms: 0
Passen Sie andere Einstellungen Ihren Bedürfnissen an. Wenn sie auskommentiert erscheinen, stellen Sie sicher, dass Sie sie auskommentieren. Schließen Sie den Bearbeitungsvorgang ab, indem Sie die Datei speichern.
Starten Sie Cassandra anschließend neu, um Ihre Änderungen anzuwenden:
sudo systemctl restart cassandra
Hinzufügen eines administrativen Superusers für Apache Cassandra
Nachdem die Authentifizierung nun aktiviert ist, ist es wichtig, einen Benutzer zu konfigurieren. Melden Sie sich mithilfe des Cassandra-Befehlsshell-Dienstprogramms mit den Standardbenutzeranmeldeinformationen an:
cqlsh -u cassandra -p cassandra
Initiieren Sie einen neuen Superuser durch Ersetzen [username]
Und [yourpassword]
mit Ihren Angaben:
CREATE ROLE [username] WITH PASSWORD = '[yourpassword]' AND SUPERUSER = true AND LOGIN = true;
Beenden Sie anschließend das Programm und melden Sie sich erneut mit Ihren neuen Superuser-Daten an:
cqlsh -u username -p yourpassword
Reduzieren Sie die erhöhten Berechtigungen des Cassandra-Standardkontos:
ALTER ROLE cassandra WITH PASSWORD = 'cassandra' AND SUPERUSER = false AND LOGIN = false;
REVOKE ALL PERMISSIONS ON ALL KEYSPACES FROM cassandra;
Und erteilen Sie Ihrem Superuser volle Berechtigungen:
GRANT ALL PERMISSIONS ON ALL KEYSPACES TO '[username]';
Schließen Sie diesen Abschnitt ab, indem Sie sich abmelden.
Anpassen der Konsolenkonfiguration
Die Cassandra Shell kann an Ihre Bedürfnisse angepasst werden. Sie liest ihre Konfiguration aus dem cqlshrc
Datei gefunden in der ~/.cassandra
Verzeichnis. Eine Beispieldatei, die einen Einblick in mögliche Einstellungen gibt, liegt unter /etc/cassandra/conf/cqlshrc.sample
.
Beginnen Sie mit dem Kopieren dieser Beispieldatei:
sudo cp /etc/cassandra/conf/cqlshrc.sample ~/.cassandra/cqlshrc
Verstelle die cqlshrc
Dateiberechtigungen:
sudo chmod 600 ~/.cassandra/cqlshrc
sudo chown $USER:$USER ~/.cassandra/cqlshrc
Öffnen Sie es zum Bearbeiten:
nano ~/.cassandra/cqlshrc
Um die Anmeldung mit Superuser-Anmeldeinformationen zu automatisieren, suchen und bearbeiten Sie den folgenden Abschnitt:
[authentication]
username = [superuser]
password = [password]
Denken Sie daran, nach Abschluss Ihrer Änderungen zu speichern. Wenn Sie sich jetzt bei der Cassandra-Shell anmelden, werden Ihre Änderungen angezeigt:
cqlsh
Umbenennen des Clusters
Möglicherweise möchten Sie den Cluster umbenennen, um das System leichter identifizierbar zu machen. Melden Sie sich dazu am cqlsh
Terminal:
cqlsh
Ersetzen [new_name]
mit Ihrem gewünschten Clusternamen:
UPDATE system.local SET cluster_name = '[new_name]' WHERE KEY = 'local';
Verlassen Sie das Terminal und öffnen Sie /etc/cassandra/conf/cassandra.yaml
zur weiteren Bearbeitung:
sudo nano /etc/cassandra/conf/cassandra.yaml
Suchen Sie den cluster_name
Variable und ersetzen Sie ihren Wert durch den von Ihnen gewählten Namen. Speichern Sie Ihre Änderungen.
Leeren Sie abschließend den Systemcache von Cassandra:
nodetool flush system
Starten Sie Cassandra neu:
sudo systemctl restart cassandra
Wenn Sie sich bei der Shell anmelden, wird der von Ihnen gewählte Clustername angezeigt.
Überprüfen von Konfigurationsänderungen
Nach dem Vornehmen von Konfigurationsänderungen empfiehlt es sich immer, sicherzustellen, dass diese wirksam geworden sind, und den allgemeinen Zustand des Cassandra-Clusters zu prüfen.
Überprüfung des Clusternamens: Veröffentlichen Sie den Umbenennungsprozess, wenn Sie sich wieder im cqlsh
Hülse:
cqlsh
Die Eingabeaufforderung sollte jetzt den neu festgelegten Clusternamen anzeigen.
Abschluss
In dieser Anleitung haben wir die Schritte zur Installation von Apache Cassandra auf Rocky Linux durchgegangen und dabei sowohl die Version 9 als auch die Version 8 abgedeckt. Diese Anweisungen bieten Ihnen eine robuste, skalierbare Datenbanklösung für Big-Data-Anforderungen. Suchen Sie regelmäßig nach Updates, damit Cassandra gut funktioniert und sicher ist. Üben Sie die Verwendung von Cassandra, um seine Funktionen vollständig zu beherrschen. Tauchen Sie ein, experimentieren Sie und sehen Sie, wie es Ihr Datenmanagement verändern kann.