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/cockroachdb

Té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.tgz

Une 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 --version

Vous pouvez voir ci-dessous que CockroachDB v23.1.14 est installé, ce qui est la dernière version à l’heure actuelle.

check version

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

install ufw

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 enable

Une fois UFW activé, vous verrez la sortie ‘Le pare-feu est actif et activé au démarrage du système’.

enable ufw

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/tcp

Enfin, 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

setup ufw

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

generate ca

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/

copy 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.key

Une fois le processus terminé, votre certificat client sera disponible à /opt/cockroachdb/certs/client.root.crt et /opt/cockroachdb/certs/client.root.key.

generate client certs

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

node cert comp1

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

node cert comp2

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/private

Configuration 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.service

Ajoutez 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.target

Enregistrez 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.service

Insé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.target

Lorsque 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-reload

Maintenant, 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

start enable cockroachdb service

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 cockroachdb

Assurez-vous donc que le service CockroachDB fonctionne sur vos deux serveurs Debian.

cockroachdb service comp1 status

cockroachdb service comp2 status

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:26257

De 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 11

La sortie ‘ CockroachDB node starting...’ confirme que le cluster est initialisé.

initialized cluster

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 status

Ci-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:26257

Une fois connecté, vous verrez l’invite CockroachDB comme suit :

cockroachdb sql shell

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.

create admin user

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.

login page

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

cockroachdb dashboard

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.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.