Base de données · 8 min read · Oct 12, 2025
Comment installer un cluster CockroachDB sur Debian 12

CockroachDB est une base de données SQL distribuée et évolutive open-source pour les applications cloud. CockroachDB offre une cohérence de niveau supérieur, une base de données SQL répliquée et un magasin de données transactionnelles.
CockroachDB stocke vos données à plusieurs emplacements, ce qui rend la livraison des données plus rapide. De plus, il est facile à mettre à l’échelle et offre une haute disponibilité et une tolérance aux pannes pour vos applications.
Dans ce guide, nous vous montrerons comment installer CockroachDB sur des serveurs Debian 12. Ensuite, nous vous montrerons comment initialiser le cluster CockroachDB avec plusieurs serveurs Debian.
Prérequis
Avant de procéder, assurez-vous d’avoir les éléments suivants :
- Deux serveurs Debian 12 ou plus qui se connectent entre eux via un réseau local.
- Un utilisateur non-root avec des privilèges d’administrateur.
- Un FQDN configuré sur chaque serveur.
Installation de CockroachDB
CockroachDB est un système de base de données SQL distribué et évolutif. Avant de déployer le cluster CockroachDB, vous devez installer l’application CockroachDB sur chacun de vos serveurs.
Maintenant, vous allez installer CockroachDB sur chacun de vos serveurs Debian.
Tout d’abord, créez un nouvel utilisateur système cockroach avec le répertoire personnel par défaut /opt/cockroachdb.
sudo adduser --home /opt/cockroachdb --system --group cockroach
sudo chown -R cockroach:cockroach /opt/cockroachdbTéléchargez la dernière version de CockroachDB en utilisant la commande curl ci-dessous. Assurez-vous de visiter la page de téléchargement de CockroachDB pour obtenir le lien vers la dernière version de CockroachDB.
curl https://binaries.cockroachdb.com/cockroach-v23.1.14.linux-amd64.tgz --output cockroach-v23.1.14.linux-amd64.tgzUne fois téléchargé, extrayez le fichier cockroach-v23.1.14.linux-amd64.tgz et copiez le fichier binaire CockroachDB dans le répertoire /usr/bin/.
tar -xzf cockroach-v23.1.14.linux-amd64.tgz
cp -i cockroach-v23.1.14.linux-amd64/cockroach /usr/bin/Enfin, vérifiez la version de CockroachDB en utilisant la commande ci-dessous.
cockroach --versionVous pouvez voir ci-dessous que CockroachDB v23.1.14 est installé, ce qui est la dernière version à l’heure actuelle.

Configuration de UFW
Après avoir installé CockroachDB, vous devez installer UFW pour sécuriser vos serveurs. Ensuite, ouvrez les ports TCP 8080 et 26257 qui seront utilisés par le cluster CockroachDB.
Installez le paquet UFW sur votre serveur Debian avec la commande ci-dessous.
sudo apt install ufw -y
Ajoutez maintenant le profil OpenSSH et activez UFW en exécutant la commande ci-dessous. Tapez y pour démarrer et activer le UFW.
sudo ufw allow OpenSSH
sudo ufw enableUne fois UFW activé, vous verrez la sortie ‘Le pare-feu est actif et activé au démarrage du système’.

Ensuite, ajoutez les ports TCP 8080 et 26257 à UFW avec la commande suivante. Ces ports TCP seront utilisés par le cluster CockroachDB.
sudo ufw allow 8080/tcp
sudo ufw allow 26257/tcpEnfin, vérifiez l’état de UFW et la liste des règles activées avec la commande ci-dessous. Vous verrez UFW avec le statut Actif et les ports OpenSSH, 8080/tcp et 26257/tcp activés.
sudo ufw status
Génération de certificats
Avant de générer des certificats pour le cluster CockroachDB, exécutez la commande ci-dessous pour créer de nouveaux répertoires certs et private dans /opt/cockroachdb pour stocker vos certificats.
mkdir -p /opt/cockroachdb/{certs,private}Maintenant, passez à la génération de ces certificats : Certificat CA, Certificat de nœud et Certificat client.
Génération de CA
Le certificat CA est important pour signer à la fois les certificats clients et nœuds. Dans cette section, vous allez générer un certificat CA sur le serveur comp1 et un certificat CA et clé sur le serveur comp2 via scp. Assurez-vous donc que vous avez un accès SSH au serveur comp2.
Exécutez la commande suivante pour générer un certificat CA sur le serveur comp1.
cockroach cert create-ca \
--certs-dir=/opt/cockroachdb/certs \
--ca-key=/opt/cockroachdb/private/ca.key
Une fois le CA généré, copiez à la fois ca.key et ca.crt sur le serveur comp2.
scp /opt/cockroachdb/private/ca.key [email protected]:/opt/cockroachdb/private/
scp /opt/cockroachdb/certs/ca.crt [email protected]:/opt/cockroachdb/certs/
Génération de Client
Après avoir généré le CA, le certificat suivant dont vous avez besoin est un certificat client. Cela sera utilisé pour se connecter au cluster CockroachDB de manière sécurisée via TLS.
Toujours sur le serveur comp1, exécutez la commande suivante pour créer le certificat client pour l’utilisateur par défaut root.
cockroach cert create-client \
root \
--certs-dir=/opt/cockroachdb/certs \
--ca-key=/opt/cockroachdb/private/ca.keyUne fois le processus terminé, votre certificat client sera disponible à /opt/cockroachdb/certs/client.root.crt et /opt/cockroachdb/certs/client.root.key.

Génération de Node
Enfin, vous devez générer des certificats de nœud, qui dépendent également du nombre de serveurs au sein du cluster. Dans cet exemple, je vais générer un certificat de nœud pour les serveurs comp1 et comp2.
Exécutez la commande ci-dessous sur le serveur comp1 pour générer un certificat de nœud pour comp1. Assurez-vous de changer l’adresse IP et le fqdn avec les détails de votre serveur.
cockroach cert create-node \
comp1.hwdomain.lan \
192.168.5.21 \
localhost \
--certs-dir=/opt/cockroachdb/certs \
--ca-key=/opt/cockroachdb/private/ca.key
Déplacez-vous vers le serveur comp2 et exécutez la commande ci-dessous pour générer un certificat de nœud pour comp2. Changez également les détails de l’adresse IP et du fqdn du serveur comp2.
cockroach cert create-node \
comp2.hwdomain.lan \
192.168.5.22 \
localhost \
--certs-dir=/opt/cockroachdb/certs \
--ca-key=/opt/cockroachdb/private/ca.key
Configuration des permissions pour les certificats
Avec tous les certificats générés, exécutez la commande suivante pour permettre à l’utilisateur cockroach d’accéder aux fichiers de certificat. Assurez-vous d’exécuter cela sur les serveurs comp1 et comp2.
sudo chown -R cockroach:cockroach /opt/cockroachdb/certs
sudo chown -R cockroach:cockroach /opt/cockroachdb/privateConfiguration du service Systemd
Après avoir généré des certificats pour CockroachDB, l’étape suivante consiste à créer le fichier de service CockroachDB pour chaque serveur. Ensuite, démarrez et activez le service CockroachDB.
Service CockroachDB pour comp1
Sur le serveur comp1, créez un nouveau service systemd /etc/systemd/system/cockroachdb.service avec la commande de l’éditeur nano ci-dessous.
sudo nano /etc/systemd/system/cockroachdb.serviceAjoutez ces configurations de service. Assurez-vous de changer le paramètre –advertise-addr avec l’adresse IP de comp1.
[Unit]
Description=Noeud du cluster de base de données Cockroach
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.targetEnregistrez et quittez le fichier lorsque vous avez terminé.
Service CockroachDB pour comp2
Déplacez-vous vers le serveur comp2 et exécutez la commande de l’éditeur nano ci-dessous pour créer un nouveau fichier de service /etc/systemd/system/cockroachdb.service.
sudo nano /etc/systemd/system/cockroachdb.serviceInsérez la configuration ci-dessous et assurez-vous de changer le paramètre –advertise-addr avec l’adresse IP de comp2.
[Unit]
Description=Noeud du cluster de base de données Cockroach
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.targetLorsque vous avez terminé, enregistrez le fichier et quittez l’éditeur.
Démarrage de CockroachDB
Avec le fichier de service CockroachDB créé, vous pouvez maintenant appliquer vos modifications, puis démarrer et activer le service CockroachDB.
Exécutez la commande suivante pour recharger le gestionnaire systemd et appliquer le nouveau service pour CockroachDB.
sudo systemctl daemon-reloadMaintenant, démarrez et activez le service CockroachDB sur les serveurs comp1 et comp2 avec la commande ci-dessous.
sudo systemctl start cockroachdb
sudo systemctl enable cockroachdb
Enfin, vérifiez le service CockroachDB avec la commande suivante pour vous assurer que le service est en cours d’exécution.
sudo systemctl status cockroachdbAssurez-vous donc que le service CockroachDB fonctionne sur vos deux serveurs Debian.


Initialisation du cluster CockroachDB
Maintenant que le service CockroachDB fonctionne sur chaque serveur, vous pouvez continuer à initialiser le cluster CockroachDB depuis le serveur comp1. Ensuite, créez l’utilisateur administrateur pour CockroachDB et accédez au tableau de bord d’administration web de CockroachDB.
Sur le serveur comp1, exécutez la commande suivante pour initialiser le cluster CockroachDB. Vous devriez obtenir une sortie “ Cluster initialisé avec succès “ lorsque le processus est terminé.
cockroach init --certs-dir=/opt/cockroachdb/certs --host=192.168.5.21:26257De plus, vous pouvez également vérifier le processus d’initialisation via le fichier journal de CockroachDB avec la commande ci-dessous.
grep 'node starting' /opt/cockroachdb/cockroach-data/logs/cockroach.log -A 11La sortie ‘ CockroachDB node starting...’ confirme que le cluster est initialisé.

Ensuite, vérifiez votre cluster CockroachDB en exécutant la commande suivante. L’option ls est utilisée pour obtenir la liste des serveurs au sein du cluster, tandis que la commande status est utilisée pour vérifier l’état du cluster CockroachDB.
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 statusCi-dessous, vous pouvez voir le nombre de serveurs au sein du cluster CockroachDB, y compris l’état de chaque serveur.
Maintenant que le cluster fonctionne, exécutez la commande suivante pour vous connecter au serveur CockroachDB. Assurez-vous d’exécuter cette commande depuis le serveur comp1, car votre certificat client est disponible sur la machine comp1.
cockroach sql --certs-dir=/opt/cockroachdb/certs --host=192.168.5.21:26257Une fois connecté, vous verrez l’invite CockroachDB comme suit :

Exécutez les requêtes suivantes pour créer un nouvel utilisateur bob avec le mot de passe p4ssw0rd. Ensuite, accordez les privilèges d’administrateur à l’utilisateur bob.
CREATE USER bob WITH PASSWORD 'p4ssw0rd';
GRANT admin TO bob;Appuyez sur Ctrl+d pour quitter le serveur CockroachDB.

Enfin, ouvrez votre navigateur web sur votre machine locale et visitez l’adresse IP de comp1 avec le port 8080 (https://192.168.5.21:8080). Vous serez invité à la page de connexion de CockroachDB.
Connectez-vous avec l’utilisateur bob et le mot de passe p4ssw0rd.

Une fois connecté, vous verrez le tableau de bord d’administration de CockroachDB comme ceci :

Conclusion
Pour conclure, vous avez maintenant terminé l’installation du cluster CockroachDB sur des serveurs Debian 12. Vous avez également créé l’utilisateur administrateur pour CockroachDB et accédé au tableau de bord d’administration web de CockroachDB. Vous pouvez maintenant créer une nouvelle base de données et un nouvel utilisateur, et utiliser le tableau de bord d’administration web de CockroachDB pour gérer l’installation de CockroachDB.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.