Apache Cassandra ist eine Open-Source-NoSQL-Datenbank ohne Single Point of Failure, die lineare Skalierbarkeit und Hochverfügbarkeit ohne Leistungseinbußen bietet. Datensätze sind in Cassandra ähnlich strukturiert wie in der relationalen Datenbank mit Tabellen, Zeilen und Spalten. Apache Cassandra wird von einer Reihe von Organisationen verwendet, darunter Apple, NetFlix, eBay und Easou.
Dieses Tutorial beschreibt die Installation von Apache Cassandra unter CentOS 7.
Voraussetzungen #
Der Benutzer, als der Sie angemeldet sind, muss über sudo-Berechtigungen verfügen, um Pakete installieren zu können.
Installieren von Apache Cassandra #
Die empfohlene Methode zur Installation von Apache Cassandra auf CentOS 7 ist die Installation des RPM-Pakets aus dem offiziellen Apache Cassandra-Repository.
Zum Zeitpunkt der Erstellung dieses Artikels war die neueste Version von Apache Cassandra 3.11
und erfordert die Installation von OpenJDK 8 auf dem System.
Um OpenJDK zu installieren, geben Sie auf Ihrem System Folgendes ein:
sudo yum install java-1.8.0-openjdk-devel
Überprüfen Sie die Java-Installation, indem Sie den folgenden Befehl ausführen, der die Java-Version druckt:
java -version
Die Ausgabe sollte in etwa so aussehen:
openjdk version "1.8.0_201"
OpenJDK Runtime Environment (build 1.8.0_201-b09)
OpenJDK 64-Bit Server VM (build 25.201-b09, mixed mode)
Nachdem Java installiert ist, besteht der nächste Schritt darin, das Apache Cassandra-Repository hinzuzufügen.
Öffnen Sie den Editor Ihrer Wahl und erstellen Sie die folgende Repository-Datei:
sudo nano /etc/yum.repos.d/cassandra.repo
Fügen Sie den folgenden Inhalt in die Datei ein:
/etc/yum.repos.d/cassandra.repo[cassandra]
name=Apache Cassandra
baseurl=https://www.apache.org/dist/cassandra/redhat/311x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://www.apache.org/dist/cassandra/KEYS
Sobald das Repository aktiviert ist, installieren Sie die neueste Version von Apache Cassandra, indem Sie Folgendes eingeben:
sudo yum install cassandra
Starten und aktivieren Sie den Cassandra-Dienst:
sudo systemctl enable cassandra
sudo systemctl start cassandra
Vergewissern Sie sich, dass Cassandra ausgeführt wird, indem Sie Folgendes eingeben:
nodetool status
Sie sollten etwas Ähnliches sehen:
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 127.0.0.1 103.68 KiB 256 100.0% 129a9437-377d-415b-b6b2-5dc46b73a763 rack1
Zu diesem Zeitpunkt wurde Apache Cassandra auf Ihrem CentOS-Server installiert.
Apache Cassandra konfigurieren #
Apache Cassandra-Daten werden in /var/lib/cassandra
gespeichert Verzeichnis, Konfigurationsdateien befinden sich in /etc/cassandra
und Java-Startoptionen können in /etc/default/cassandra
konfiguriert werden Datei.
Standardmäßig ist Cassandra so konfiguriert, dass es nur auf localhost lauscht. Wenn der Client, der sich mit der Datenbank verbindet, auch auf demselben Host ausgeführt wird, müssen Sie die Standardkonfigurationsdatei nicht ändern.
Um mit Cassandra über CQL (die Cassandra-Abfragesprache) zu interagieren, können Sie ein Befehlszeilendienstprogramm namens cqlsh
verwenden das mit dem Cassandra-Paket ausgeliefert wird.
cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.4 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cqlsh>
Apache Cassandra Cluster # umbenennen
Standardmäßig heißt der Cassandra-Cluster „Test-Cluster“. Führen Sie die folgenden Schritte aus, wenn Sie den Clusternamen ändern möchten:
-
Melden Sie sich mit
cqlsh
beim Cassandra CQL-Terminal an :cqlsh
Der folgende Befehl ändert den Clusternamen in „Linuxize Cluster“:
UPDATE system.local SET cluster_name = 'Linuxize Cluster' WHERE KEY = 'local';
Ersetzen Sie „Linuxize Cluster“ durch Ihren gewünschten Namen. Wenn Sie fertig sind, geben Sie
exit
ein um die Konsole zu verlassen. -
Bearbeiten Sie die
/etc/cassandra/default.conf/cassandra.yamlcassandra.yaml
Konfigurationsdatei und geben Sie Ihren neuen Clusternamen ein.cluster_name: 'Linuxize Cluster'
-
Führen Sie den folgenden Befehl aus, um den Systemcache zu löschen:
nodetool flush system
-
Starten Sie abschließend den Cassandra-Dienst neu:
sudo systemctl restart cassandra