Datenbankinstallation · 7 min read · Oct 12, 2025

So installieren Sie einen CockroachDB-Cluster auf Debian 12

CockroachDB ist eine Open-Source, verteilte und skalierbare SQL-Datenbank für Cloud-Anwendungen. CockroachDB bietet Konsistenz auf einem neuen Niveau, eine replizierte SQL-Datenbank und einen transaktionalen Datenspeicher.

CockroachDB speichert Ihre Daten an mehreren Standorten, wodurch die Datenübertragung schneller wird. Außerdem ist es einfach, zu skalieren, und bietet hohe Verfügbarkeit und Fehlertoleranz für Ihre Anwendungen.

In diesem Leitfaden zeigen wir Ihnen, wie Sie CockroachDB auf Debian 12-Servern installieren. Anschließend zeigen wir Ihnen, wie Sie den CockroachDB-Cluster mit mehreren Debian-Servern initialisieren.

Voraussetzungen

Bevor Sie fortfahren, stellen Sie sicher, dass Sie Folgendes haben:

  • Zwei oder mehr Debian 12-Server, die über ein lokales Netzwerk miteinander verbunden sind.
  • Einen Nicht-Root-Benutzer mit Administratorrechten.
  • Ein FQDN ist auf jedem Server konfiguriert.

Installation von CockroachDB

CockroachDB ist ein verteiltes und skalierbares SQL-Datenbanksystem. Bevor Sie den CockroachDB-Cluster bereitstellen, müssen Sie die CockroachDB-Anwendung auf jedem Ihrer Server installieren.

Jetzt werden Sie CockroachDB auf jedem Ihrer Debian-Server installieren.

Zuerst erstellen Sie einen neuen Systembenutzer cockroach mit dem Standard-Heimverzeichnis /opt/cockroachdb.

sudo adduser --home /opt/cockroachdb --system --group cockroach  
sudo chown -R cockroach:cockroach /opt/cockroachdb

Laden Sie die neueste Version von CockroachDB mit dem folgenden curl-Befehl herunter. Stellen Sie sicher, dass Sie die CockroachDB-Downloadseite besuchen, um den Link zur neuesten Version von CockroachDB zu erhalten.

curl https://binaries.cockroachdb.com/cockroach-v23.1.14.linux-amd64.tgz --output cockroach-v23.1.14.linux-amd64.tgz

Sobald der Download abgeschlossen ist, extrahieren Sie die cockroach-v23.1.14.linux-amd64.tgz-Datei und kopieren Sie die CockroachDB-Binärdatei in das Verzeichnis /usr/bin/.

tar -xzf cockroach-v23.1.14.linux-amd64.tgz  
cp -i cockroach-v23.1.14.linux-amd64/cockroach /usr/bin/

Überprüfen Sie zuletzt die CockroachDB-Version mit dem folgenden Befehl.

cockroach --version

Sie können unten sehen, dass CockroachDB v23.1.14 installiert ist, was die neueste Version zum aktuellen Zeitpunkt ist.

Version überprüfen

UFW einrichten

Nach der Installation von CockroachDB müssen Sie UFW installieren, um Ihre Server abzusichern. Öffnen Sie dann die TCP-Ports 8080 und 26257, die vom CockroachDB-Cluster verwendet werden.

Installieren Sie das UFW-Paket auf Ihrem Debian-Server mit dem folgenden Befehl.

sudo apt install ufw -y

UFW installieren

Fügen Sie jetzt das OpenSSH-Profil hinzu und aktivieren Sie UFW, indem Sie den folgenden Befehl ausführen. Geben Sie y ein, um UFW zu starten und zu aktivieren.

sudo ufw allow OpenSSH  
sudo ufw enable

Sobald UFW aktiviert ist, sehen Sie die Ausgabe ‘Firewall ist aktiv und beim Systemstart aktiviert’.

UFW aktivieren

Fügen Sie als Nächstes die TCP-Ports 8080 und 26257 zu UFW mit dem folgenden Befehl hinzu. Diese TCP-Ports werden vom CockroachDB-Cluster verwendet.

sudo ufw allow 8080/tcp  
sudo ufw allow 26257/tcp

Überprüfen Sie zuletzt den UFW-Status und die Liste der aktivierten Regeln mit dem folgenden Befehl. Sie sehen UFW mit dem Status Aktiv und die Ports OpenSSH, 8080/tcp und 26257/tcp aktiviert.

sudo ufw status

UFW einrichten

Zertifikate generieren

Bevor Sie Zertifikate für den CockroachDB-Cluster generieren, führen Sie den folgenden Befehl aus, um neue Verzeichnisse certs und private innerhalb von /opt/cockroachdb zu erstellen, um Ihre Zertifikate zu speichern.

mkdir -p /opt/cockroachdb/{certs,private}

Jetzt fahren Sie fort, diese Zertifikate zu generieren: CA-Zertifikat, Knoten-Zertifikat und Client-Zertifikat.

CA generieren

Das CA-Zertifikat ist wichtig für die Signierung sowohl der Client- als auch der Knoten-Zertifikate. In diesem Abschnitt werden Sie ein CA-Zertifikat auf dem comp1-Server generieren und ein CA-Zertifikat und einen Schlüssel auf den comp2-Server über scp übertragen. Stellen Sie sicher, dass Sie SSH-Zugriff auf den comp2-Server haben.

Führen Sie den folgenden Befehl aus, um ein CA-Zertifikat auf dem comp1-Server zu generieren.

cockroach cert create-ca \  
--certs-dir=/opt/cockroachdb/certs \  
--ca-key=/opt/cockroachdb/private/ca.key

CA generieren

Sobald die CA generiert ist, kopieren Sie sowohl ca.key als auch ca.crt auf den comp2-Server.

scp /opt/cockroachdb/private/ca.key [email protected]:/opt/cockroachdb/private/  
scp /opt/cockroachdb/certs/ca.crt [email protected]:/opt/cockroachdb/certs/

Zertifikate kopieren

Client generieren

Nachdem die CA generiert wurde, benötigen Sie als Nächstes ein Client-Zertifikat. Dies wird verwendet, um sich auf sichere Weise über TLS mit dem CockroachDB-Cluster zu verbinden.

Immer noch auf dem comp1-Server, führen Sie den folgenden Befehl aus, um das Client-Zertifikat für den Standardbenutzer root zu erstellen.

cockroach cert create-client \  
root \  
--certs-dir=/opt/cockroachdb/certs \  
--ca-key=/opt/cockroachdb/private/ca.key

Sobald der Prozess abgeschlossen ist, ist Ihr Client-Zertifikat unter /opt/cockroachdb/certs/client.root.crt und /opt/cockroachdb/certs/client.root.key verfügbar.

Client-Zertifikate generieren

Node generieren

Zuletzt müssen Sie Knoten-Zertifikate generieren, die auch von der Anzahl der Server im Cluster abhängen. In diesem Beispiel werde ich ein Knoten-Zertifikat für die Server comp1 und comp2 generieren.

Führen Sie den folgenden Befehl auf dem comp1-Server aus, um ein Knoten-Zertifikat für comp1 zu generieren. Stellen Sie sicher, dass Sie die IP-Adresse und fqdn mit Ihren Serverdetails ändern.

cockroach cert create-node \  
comp1.hwdomain.lan \  
192.168.5.21 \  
localhost \  
--certs-dir=/opt/cockroachdb/certs \  
--ca-key=/opt/cockroachdb/private/ca.key

Node-Zertifikat comp1

Wechseln Sie zum comp2-Server und führen Sie den folgenden Befehl aus, um ein Knoten-Zertifikat für comp2 zu generieren. Ändern Sie auch die Details der IP-Adresse und fqdn des comp2-Servers.

cockroach cert create-node \  
comp2.hwdomain.lan \  
192.168.5.22 \  
localhost \  
--certs-dir=/opt/cockroachdb/certs \  
--ca-key=/opt/cockroachdb/private/ca.key

Node-Zertifikat comp2

Berechtigungen für Zertifikate einrichten

Mit allen generierten Zertifikaten führen Sie den folgenden Befehl aus, um dem Benutzer cockroach den Zugriff auf die Zertifikatsdateien zu ermöglichen. Stellen Sie sicher, dass Sie dies auf beiden Servern comp1 und comp2 ausführen.

sudo chown -R cockroach:cockroach /opt/cockroachdb/certs  
sudo chown -R cockroach:cockroach /opt/cockroachdb/private

Systemd-Dienst einrichten

Nachdem Sie Zertifikate für CockroachDB generiert haben, besteht der nächste Schritt darin, die CockroachDB-Dienstdatei für jeden Server zu erstellen. Starten und aktivieren Sie dann den CockroachDB-Dienst.

CockroachDB-Dienst für comp1

Erstellen Sie auf dem comp1-Server eine neue systemd-Dienstdatei /etc/systemd/system/cockroachdb.service mit dem folgenden Befehl im nano-Editor.

sudo nano /etc/systemd/system/cockroachdb.service

Fügen Sie diese Dienstkonfigurationen hinzu. Stellen Sie sicher, dass Sie den Parameter –advertise-addr mit der comp1-IP-Adresse ändern.

[Unit]  
Description=Cockroach-Datenbank-Clusterknoten  
Requires=network.target  
  
[Service]  
Type=notify  
WorkingDirectory=/opt/cockroachdb  
ExecStart=/usr/bin/cockroach start --certs-dir=/opt/cockroachdb/certs --advertise-addr=192.168.5.21 --join=192.168.5.21,192.168.5.22  
TimeoutStopSec=60  
Restart=always  
RestartSec=10  
StandardOutput=syslog  
StandardError=syslog  
SyslogIdentifier=cockroach  
User=cockroach  
  
[Install]  
WantedBy=default.target

Speichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.

CockroachDB-Dienst für comp2

Wechseln Sie zum comp2-Server und führen Sie den nano-Editor-Befehl aus, um eine neue Dienstdatei /etc/systemd/system/cockroachdb.service zu erstellen.

sudo nano /etc/systemd/system/cockroachdb.service

Fügen Sie die folgende Konfiguration ein und stellen Sie sicher, dass Sie den Parameter –advertise-addr mit der comp2-IP-Adresse ändern.

[Unit]  
Description=Cockroach-Datenbank-Clusterknoten  
Requires=network.target  
  
[Service]  
Type=notify  
WorkingDirectory=/opt/cockroachdb  
ExecStart=/usr/bin/cockroach start --certs-dir=/opt/cockroachdb/certs --advertise-addr=192.168.5.22 --join=192.168.5.21,192.168.5.22  
TimeoutStopSec=60  
Restart=always  
RestartSec=10  
StandardOutput=syslog  
StandardError=syslog  
SyslogIdentifier=cockroach  
User=cockroach  
  
[Install]  
WantedBy=default.target

Wenn Sie fertig sind, speichern Sie die Datei und beenden Sie den Editor.

CockroachDB starten

Nachdem die CockroachDB-Dienstdatei erstellt wurde, können Sie nun Ihre Änderungen anwenden und den CockroachDB-Dienst starten und aktivieren.

Führen Sie den folgenden Befehl aus, um den systemd-Manager neu zu laden und den neuen Dienst für CockroachDB anzuwenden.

sudo systemctl daemon-reload

Starten und aktivieren Sie jetzt den CockroachDB-Dienst auf beiden Servern comp1 und comp2 mit dem folgenden Befehl.

sudo systemctl start cockroachdb  
sudo systemctl enable cockroachdb

CockroachDB-Dienst starten und aktivieren

Überprüfen Sie zuletzt den CockroachDB-Dienst mit dem folgenden Befehl, um sicherzustellen, dass der Dienst läuft.

sudo systemctl status cockroachdb

Stellen Sie sicher, dass der CockroachDB-Dienst auf beiden Ihrer Debian-Server läuft.

CockroachDB-Dienst comp1-Status

CockroachDB-Dienst comp2-Status

CockroachDB-Cluster initialisieren

Jetzt, da der CockroachDB-Dienst auf jedem Server läuft, können Sie mit der Initialisierung des CockroachDB-Clusters vom comp1-Server aus fortfahren. Erstellen Sie dann den Administrationsbenutzer für CockroachDB und greifen Sie auf das Web-Administrations-Dashboard von CockroachDB zu.

Führen Sie auf dem comp1-Server den folgenden Befehl aus, um den CockroachDB-Cluster zu initialisieren. Sie sollten eine Ausgabe “ Cluster erfolgreich initialisiert “ erhalten, wenn der Prozess abgeschlossen ist.

cockroach init --certs-dir=/opt/cockroachdb/certs --host=192.168.5.21:26257

Zusätzlich können Sie den Initialisierungsprozess auch über die CockroachDB-Protokolldatei mit dem folgenden Befehl überprüfen.

grep 'node starting' /opt/cockroachdb/cockroach-data/logs/cockroach.log -A 11

Die Ausgabe ‘ CockroachDB-Knoten startet...’ bestätigt, dass der Cluster initialisiert wurde.

Cluster initialisiert

Überprüfen Sie als Nächstes Ihren CockroachDB-Cluster, indem Sie den folgenden Befehl ausführen. Die ls-Option wird verwendet, um die Liste der Server im Cluster zu erhalten, während der Statusbefehl verwendet wird, um den Status des CockroachDB-Clusters zu überprüfen.

cockroach node --certs-dir=/opt/cockroachdb/certs --host=192.168.5.21 ls  
cockroach node --certs-dir=/opt/cockroachdb/certs --host=192.168.5.21 status

Unten sehen Sie die Anzahl der Server im CockroachDB-Cluster, einschließlich des Status jedes Servers.

Jetzt, da der Cluster läuft, führen Sie den folgenden Befehl aus, um sich beim CockroachDB-Server anzumelden. Stellen Sie sicher, dass Sie diesen Befehl vom comp1-Server aus ausführen, da Ihr Client-Zertifikat auf der comp1-Maschine verfügbar ist.

cockroach sql --certs-dir=/opt/cockroachdb/certs --host=192.168.5.21:26257

Sobald Sie verbunden sind, sehen Sie die CockroachDB-Eingabeaufforderung wie folgt:

CockroachDB SQL-Shell

Führen Sie die folgenden Abfragen aus, um einen neuen Benutzer bob mit dem Passwort p4ssw0rd zu erstellen. Gewähren Sie dann dem Benutzer bob die Administratorrechte.

CREATE USER bob WITH PASSWORD 'p4ssw0rd';  
GRANT admin TO bob;

Drücken Sie Ctrl+d, um den CockroachDB-Server zu verlassen.

Admin-Benutzer erstellen

Öffnen Sie zuletzt Ihren Webbrowser auf Ihrem lokalen Computer und besuchen Sie die IP-Adresse von comp1 mit Port 8080 (https://192.168.5.21:8080). Sie werden mit der Anmeldeseite von CockroachDB aufgefordert.

Melden Sie sich mit dem Benutzer bob und dem Passwort p4ssw0rd an.

Anmeldeseite

Sobald Sie angemeldet sind, sehen Sie das CockroachDB-Administrations-Dashboard wie folgt:

CockroachDB-Dashboard

Fazit

Zusammenfassend haben Sie nun die Installation des CockroachDB-Clusters auf Debian 12-Servern abgeschlossen. Sie haben auch den Administrationsbenutzer für CockroachDB erstellt und auf das Web-Administrations-Dashboard von CockroachDB zugegriffen. Jetzt können Sie eine neue Datenbank und einen neuen Benutzer erstellen und das Web-Administrations-Dashboard von CockroachDB zur Verwaltung der CockroachDB-Installation nutzen.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.