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/cockroachdbLaden 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.tgzSobald 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 --versionSie können unten sehen, dass CockroachDB v23.1.14 installiert ist, was die neueste Version zum aktuellen Zeitpunkt ist.

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
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 enableSobald UFW aktiviert ist, sehen Sie die Ausgabe ‘Firewall ist aktiv und beim Systemstart aktiviert’.

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
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
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/
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.keySobald der Prozess abgeschlossen ist, ist Ihr Client-Zertifikat unter /opt/cockroachdb/certs/client.root.crt und /opt/cockroachdb/certs/client.root.key verfügbar.

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
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
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/privateSystemd-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.serviceFü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.targetSpeichern 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.serviceFü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.targetWenn 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-reloadStarten 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
Überprüfen Sie zuletzt den CockroachDB-Dienst mit dem folgenden Befehl, um sicherzustellen, dass der Dienst läuft.
sudo systemctl status cockroachdbStellen Sie sicher, dass der CockroachDB-Dienst auf beiden Ihrer Debian-Server läuft.


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:26257Zusä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 11Die Ausgabe ‘ CockroachDB-Knoten startet...’ bestätigt, dass der Cluster initialisiert wurde.

Ü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 statusUnten 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:26257Sobald Sie verbunden sind, sehen Sie die CockroachDB-Eingabeaufforderung wie folgt:

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.

Ö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.

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

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.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.