Apache Cassandra auf CentOS 7 installieren
Übersicht
Apache Cassandra ist ein freies, Open-Source, verteiltes NoSQL-Datenbanksystem. Es speichert große Datenmengen in dezentralen, hochverfügbaren Clustern. Daten werden über mehrere Server verteilt, wodurch ein Single Point of Failure vermieden wird. NoSQL-Datenbanken verwenden andere Speicher- und Abfragemodelle als relationale Systeme wie MySQL oder PostgreSQL.
Diese Anleitung zeigt die Installation von Apache Cassandra auf CentOS 7.
Voraussetzungen
- Root-Zugriff (oder sudo) auf einem CentOS 7-Server
- Internetzugang zum Herunterladen von Paketen
- Mindestens 2–4 GB RAM empfohlen für Test-/Entwicklungsumgebungen
Wichtig: Produktions-Cluster benötigen detaillierte Kapazitätsplanung und Netzwerk-/Sicherheitskonfigurationen, die hier nur kurz erwähnt werden.
Schritt 1 - JAVA installieren
Aktualisieren Sie zuerst die Pakete und Repositories:
yum -y update
Laden Sie das Oracle Java RPM-Paket herunter (Beispiel):
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"
Falls wget fehlt, installieren Sie es:
yum -y install wget
Installieren Sie das heruntergeladene RPM:
yum -y localinstall jdk-8u131-linux-x64.rpm
Prüfen Sie die Java-Version:
java -version
Beispielausgabe:
[root@liptan-pc ~]# 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)
Prüfen Sie, ob die Umgebungsvariable JAVA_HOME gesetzt ist:
echo $JAVA_HOME
Wenn die Ausgabe leer ist, setzen Sie JAVA_HOME in Ihrer Shell-Konfigurationsdatei (~/.bash_profile). Beispiel mit nano:
nano ~/.bash_profile
Fügen Sie am Ende der Datei folgende Zeilen hinzu (passen Sie den Pfad ggf. an):
export JAVA_HOME=/usr/java/jdk1.8.0_131/
export JRE_HOME=/usr/java/jdk1.8.0_131/jre
Laden Sie die Datei neu:
source ~/.bash_profile
Prüfen Sie nochmals:
[root@liptan-pc ~]# echo $JAVA_HOME
/usr/java/jdk1.8.0_131/
Hinweis: Verwenden Sie für neue Installationen alternativ OpenJDK, wenn Sie keine Oracle-Java-Binärdateien benötigen.
Schritt 2 - Cassandra installieren
Erstellen Sie eine neue Repo-Datei für Apache Cassandra:
nano /etc/yum.repos.d/cassandra.repo
Fügen Sie diese Inhalte 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
Installieren Sie Cassandra:
yum -y install cassandra
Aktualisieren Sie Systemd-Daemons und starten Sie Cassandra:
systemctl daemon-reload
systemctl start cassandra
systemctl enable cassandra
Überprüfen Sie den Cluster-Status:
nodetool status
Erwartete Ausgabe (Beispiel):
[root@ip-172-31-7-136 ~]# 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 nodetool keine Verbindung herstellt (Fehlermeldung wie unten), müssen Sie die JVM RMI-Hostkonfiguration anpassen:
nodetool: Failed to connect to '127.0.0.1:7199' - ConnectException: 'Connection refused (Connection refused)'.
Öffnen Sie die Cassandra-Umgebungskonfiguration:
nano /etc/cassandra/default.conf/cassandra-env.sh
Suchen Sie die folgende Zeile:
# JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname="
Entfernen Sie das Kommentarzeichen und setzen Sie die IP auf localhost (oder die passende Host-IP):
JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=127.0.0.1"
Speichern und starten Sie Cassandra neu:
systemctl restart cassandra
Verwenden Sie danach erneut:
nodetool status
Cassandra enthält die Kommandozeile cqlsh für Abfragen in CQL (Cassandra Query Language):
cqlsh
Beispielausgabe:
[root@liptan-pc ~]# 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.
Kurzanleitung: Mini-Methodik
- System aktualisieren (yum update).
- Java installieren und JAVA_HOME setzen.
- Cassandra-Repo hinzufügen.
- Cassandra installieren, starten, aktivieren.
- nodetool und cqlsh verwenden, um Status und Verfügbarkeit zu prüfen.
Troubleshooting - Häufige Probleme und Lösungen
Problem: nodetool ConnectException (Connection refused)
- Ursache: RMI-Hostname nicht gesetzt oder Firewall blockiert Port 7199.
- Lösung: In cassandra-env.sh JVM_OPTS -Djava.rmi.server.hostname setzen; Ports prüfen (7199, 9042) und Firewall/iptables anpassen.
Problem: cqlsh verbindet nicht (Timeout oder Refused)
- Ursache: Cassandra nicht gestartet, native transport deaktiviert, oder Port 9042 blockiert.
- Lösung: systemctl status cassandra prüfen, cassandra.yaml auf native_transport_port prüfen, Firewall öffnen.
Problem: Knoten finden sich nicht im Cluster
- Ursache: seed-Hosts falsch konfiguriert, falsche listen_address oder rpc_address.
- Lösung: cassandra.yaml prüfen, seed-Hosts korrekt angeben, restart.
Wichtig: Für produktive Umgebungen prüfen Sie Logs unter /var/log/cassandra/ auf detaillierte Fehlermeldungen.
Checklisten nach Rolle
Administrator
- JAVA_HOME korrekt gesetzt
- Systemd-Unit aktiv und aktiviert
- Ports 7199, 7000/7001 (intern), 9042 offen (nur intern oder über VPN)
- Backups planen (SSTablebackup/Tools)
DevOps / Betreiber
- Automatisierte Installation (Ansible/Chef/Puppet) vorbereiten
- Überwachung (nodetool, JMX-Metriken, SLR/Alerts)
- Rolling-Restart-Strategie definieren
Entwickler
- cqlsh verwenden, einfache Keyspaces testen
- Konsistenzlevel (ONE, QUORUM, ALL) verstehen und testen
- Schema-Design nach Partitionierung und Reihenfolge prüfen
Wann Cassandra nicht die richtige Wahl ist
- Starke ACID-Transaktionen über mehrere Tabellen sind nötig (RDBMS besser)
- Sehr kleine, relationale Datensätze mit komplexen Joins
- Wenn Team-Erfahrung mit NoSQL/Partitionierung fehlt und schnelle Inbetriebnahme gefordert ist
Alternative Ansätze
- Für transaktionale, relationale Workloads: PostgreSQL oder MySQL
- Für einfache Key-Value-Store-Anforderungen: Redis oder RocksDB
- Für Dokumentendaten mit flexiblem Schema: MongoDB
Sicherheit und Datenschutz
- Beschränken Sie Zugriff auf Verwaltungs-Ports per Firewall oder VPN.
- Aktivieren Sie Authentifizierung und TLS in Cassandra für produktive Umgebungen.
- Klären Sie Datenschutzanforderungen (z. B. personenbezogene Daten) und implementieren Sie geeignete Verschlüsselung und Retention-Policies.
Kurzes Cheat-Sheet (Wichtige Befehle)
- System aktualisieren: yum -y update
- Java prüfen: java -version
- Repo anlegen: nano /etc/yum.repos.d/cassandra.repo
- Cassandra installieren: yum -y install cassandra
- Dienst starten: systemctl start cassandra
- Dienst aktivieren: systemctl enable cassandra
- Status prüfen: nodetool status
- CQL-Konsole: cqlsh
1-Zeiler Glossar
- CQL: Cassandra Query Language, Abfragesprache ähnlich SQL für Cassandra.
- nodetool: Verwaltungswerkzeug für Cassandra-Knoten (Cluster-Status, Repair, etc.).
Zusammenfassung
- Sie haben Java installiert, JAVA_HOME gesetzt und Cassandra über ein Yum-Repo installiert.
- Starten Sie den Dienst, aktivieren Sie ihn und prüfen Sie mit nodetool und cqlsh.
- Achten Sie in Produktionsumgebungen auf Netzwerk, Sicherheit, Monitoring und Backup-Strategien.
Wichtig: Diese Anleitung deckt eine Basis-Installation ab. Für Produktionsbetrieb sind zusätzliche Schritte in den Bereichen Netzwerk, Sicherheit, Kapazitätsplanung und automatisches Deployment erforderlich.
Ähnliche Materialien

Open‑Source‑Apps: Windows/macOS auf Linux ersetzen

CyanogenMod auf Lenovo P780 installieren

Snow Leopard USB-Installer erstellen

Yubby: Videokanal aus 30 Plattformen erstellen

Speicherbalken in Windows 10 anzeigen
