Technologieführer

Apache Cassandra auf CentOS 7 installieren

4 min read Datenbanken Aktualisiert 21 Oct 2025
Cassandra auf CentOS 7 installieren
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

  1. System aktualisieren (yum update).
  2. Java installieren und JAVA_HOME setzen.
  3. Cassandra-Repo hinzufügen.
  4. Cassandra installieren, starten, aktivieren.
  5. 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.

Autor
Redaktion

Ähnliche Materialien

Podman auf Debian 11 installieren und nutzen
DevOps

Podman auf Debian 11 installieren und nutzen

Apt-Pinning: Kurze Einführung für Debian
Systemadministration

Apt-Pinning: Kurze Einführung für Debian

FSR 4 in jedem Spiel mit OptiScaler
Grafikkarten

FSR 4 in jedem Spiel mit OptiScaler

DansGuardian + Squid (NTLM) auf Debian Etch installieren
Netzwerk

DansGuardian + Squid (NTLM) auf Debian Etch installieren

App-Installationsfehler auf SD-Karte (Error -18) beheben
Android

App-Installationsfehler auf SD-Karte (Error -18) beheben

Netzwerkordner mit KNetAttach in KDE
Linux Netzwerk

Netzwerkordner mit KNetAttach in KDE