Apache Cassandra ist ein kostenloses und quelloffenes verteiltes NoSQL-Datenbankverwaltungssystem. Es wird verwendet, um große Datenmengen in dezentralen hochverfügbaren Clustern zu speichern. Die Daten werden auf viele Server verteilt, was eine hohe Verfügbarkeit und keinen Single Point of Failure bietet. NoSQL-Datenbankserver speichern Daten mit anderen Methoden als den traditionellen tabellarischen Methoden, die von RDBMS-Software wie MySQL, PostgreSQL verwendet werden.
In diesem Tutorial installieren wir Apache Cassandra auf einem CentOS 7-Server.
Schritt 1 - Java installieren
Vor der Installation eines Pakets wird empfohlen, die Pakete und das Repository mit dem folgenden Befehl zu aktualisieren.
yum -y update
Sobald Ihr System aktualisiert ist, installieren wir die neueste Version von Oracle Java auf dem Server. Führen Sie den folgenden Befehl aus, um das RPM-Paket herunterzuladen.
wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"
Wenn Sie wget nicht installiert haben, können Sie yum -y install wget ausführen, um wget zu installieren. Installieren Sie nun das heruntergeladene RPM mit dem folgenden Befehl.
yum -y localinstall jdk-8u131-linux-x64.rpm
Sie können jetzt die Java-Version mit dem folgenden Befehl überprüfen.
java -version
Sie erhalten die folgende Ausgabe.
[[email protected] ~]# java -version java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
Sie müssen auch prüfen, ob die Umgebungsvariable JAVA_HOME gesetzt ist. Führen Sie dafür den folgenden Befehl aus.
echo $JAVA_HOME
Wenn Sie eine Null- oder Leerausgabe erhalten, müssen Sie die JAVA_HOME-Variable manuell festlegen. Bearbeiten Sie die .bash_profile-Datei mit Ihrem bevorzugten Editor. In diesem Tutorial verwenden wir den Nano-Editor. Führen Sie den folgenden Befehl aus, um .bash_profile mit nano zu bearbeiten.
nano ~/.bash_profile
Fügen Sie nun am Ende der Datei die folgenden Zeilen hinzu.
export JAVA_HOME=/usr/java/jdk1.8.0_131/ export JRE_HOME=/usr/java/jdk1.8.0_131/jre
Sourcen Sie nun die Datei mit dem folgenden Befehl.
source ~/.bash_profile
Jetzt können Sie den Befehl echo $JAVA_HOME erneut ausführen, um zu prüfen, ob die Umgebungsvariable gesetzt ist oder nicht.
[[email protected] ~]# echo $JAVA_HOME /usr/java/jdk1.8.0_131/
Schritt 2 - Installation von Cassandra
Fügen Sie nun das Apache Cassandra-Repository zu Ihrer Repository-Liste hinzu, indem Sie eine neue Repository-Datei erstellen.
nano /etc/yum.repos.d/cassandra.repo
Fügen Sie nun den folgenden Inhalt in die Datei ein.
[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
Sie können jetzt Apache Cassandra installieren, indem Sie den folgenden Befehl ausführen.
yum -y install cassandra
Laden Sie Ihre System-Daemons neu, indem Sie Folgendes ausführen:
systemctl daemon-reload
Sie können Cassandra jetzt starten, indem Sie;
eingebensystemctl start cassandra
Damit Cassandra automatisch beim Booten gestartet wird, führen Sie Folgendes aus:
systemctl enable cassandra
Sie können überprüfen, ob Cassandra ausgeführt wird, indem Sie den folgenden Befehl eingeben.
nodetool status
Sie sollten eine ähnliche Ausgabe sehen, wenn Cassandra ausgeführt wird.
[[email protected] ~]# nodetool status Datacenter: datacenter1 ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 127.0.0.1 136.29 KiB 256 100.0% b3d26649-9e10-4bee-9b3c-8e81c4394b2e rack1
Wenn Sie anstelle der oben gezeigten Ausgabe etwas Ähnliches wie die unten gezeigte Ausgabe erhalten, müssen Sie die cassandra-Umgebungskonfigurationsdatei konfigurieren.
nodetool: Failed to connect to '127.0.0.1:7199' - ConnectException: 'Connection refused (Connection refused)'.
Öffnen Sie die Konfigurationsdatei mit folgendem Befehl.
nano /etc/cassandra/default.conf/cassandra-env.sh
Suchen Sie nun in der Konfiguration die folgende Zeile.
# JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=<public name>"
Kommentieren Sie die Zeile aus und ändern Sie ihren Wert von
Die Konfiguration sollte wie unten gezeigt aussehen.
JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=127.0.0.1"
Speichern Sie die Datei und beenden Sie den Editor. Starten Sie Apache Cassandra neu, indem Sie den folgenden Befehl ausführen.
systemctl restart cassandra
Sie sollten die gewünschte Ausgabe haben, während Sie den nodetool-Befehl ausführen.
Cassandra wird mit einer leistungsstarken Befehlszeilen-Shell cqlsh geliefert, um Abfragen auf Cluster auszuführen. Die Abfrage ist in der CQL- oder Cassandra-Abfragesprache geschrieben. Um auf die CQL-Shell zuzugreifen, führen Sie den folgenden Befehl aus.
cqlsh
Sie werden folgende Ausgabe sehen.
[[email protected] ~]# cqlsh Connected to Test Cluster at 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 3.11.0 | CQL spec 3.4.4 | Native protocol v4] Use HELP for help.
Schlussfolgerung
Apache Cassandra ist jetzt auf Ihrem Server installiert. Auf der Cassandra-Website können Sie mehr über Cassandra erfahren.