Database · 7 min read · Oct 12, 2025

Come installare un cluster CockroachDB su Debian 12

CockroachDB è un database SQL distribuito e scalabile open-source per applicazioni cloud. CockroachDB fornisce una coerenza di livello superiore, un database SQL replicato e un archivio dati transazionale.

CockroachDB memorizza i tuoi dati in più posizioni rendendo la consegna dei dati più veloce. Inoltre, è facile da scalare e offre alta disponibilità e tolleranza ai guasti per le tue applicazioni.

In questa guida, ti mostreremo come installare CockroachDB sui server Debian 12. Poi, ti mostreremo come inizializzare il cluster CockroachDB con più server Debian.

Requisiti

Prima di procedere, assicurati di avere quanto segue:

  • Due o più server Debian 12 che si connettono tra loro tramite rete locale.
  • Un utente non root con privilegi di amministratore.
  • Un FQDN configurato su ciascun server.

Installazione di CockroachDB

CockroachDB è un sistema di database SQL distribuito e scalabile. Prima di distribuire il cluster CockroachDB, devi installare l’applicazione CockroachDB su ciascuno dei tuoi server.

Ora installerai CockroachDB su ciascuno dei tuoi server Debian.

Prima di tutto, crea un nuovo utente di sistema cockroach con la directory home predefinita /opt/cockroachdb.

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

Scarica l’ultima versione di CockroachDB utilizzando il comando curl qui sotto. Assicurati di visitare la pagina di download di CockroachDB per ottenere il link all’ultima versione di CockroachDB.

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

Una volta scaricato, estrai il file cockroach-v23.1.14.linux-amd64.tgz e copia il file binario di CockroachDB nella directory /usr/bin/.

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

Infine, verifica la versione di CockroachDB utilizzando il comando qui sotto.

cockroach --version

Puoi vedere qui sotto che CockroachDB v23.1.14 è installato, che è l’ultima versione del momento.

controlla versione

Configurazione di UFW

Dopo aver installato CockroachDB, devi installare UFW per proteggere i tuoi server. Poi, apri le porte TCP 8080 e 26257 che saranno utilizzate dal cluster CockroachDB.

Installa il pacchetto UFW sul tuo server Debian con il comando qui sotto.

sudo apt install ufw -y

installa ufw

Ora aggiungi il profilo OpenSSH e abilita UFW eseguendo il comando qui sotto. Digita y per avviare e abilitare UFW.

sudo ufw allow OpenSSH  
sudo ufw enable

Una volta abilitato UFW, vedrai l’output ‘Il firewall è attivo e abilitato all’avvio del sistema’.

abilita ufw

Successivamente, aggiungi le porte TCP 8080 e 26257 a UFW con il seguente comando. Queste porte TCP saranno utilizzate dal cluster CockroachDB.

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

Infine, verifica lo stato di UFW e l’elenco delle regole abilitate con il comando qui sotto. Vedrai UFW con lo stato Attivo e le porte OpenSSH, 8080/tcp e 26257/tcp abilitate.

sudo ufw status

configura ufw

Generazione dei certificati

Prima di generare certificati per il cluster CockroachDB, esegui il comando qui sotto per creare nuove directory certs e private all’interno di /opt/cockroachdb per memorizzare i tuoi certificati.

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

Ora procedi a generare questi certificati: Certificato CA, certificato Node e certificato Client.

Generazione CA

Il certificato CA è importante per firmare sia i certificati dei client che quelli dei nodi. In questa sezione, genererai un certificato CA sul server comp1 e un certificato CA e una chiave sul server comp2 tramite scp. Assicurati quindi di avere accesso SSH al server comp2.

Esegui il seguente comando per generare un certificato CA sul server comp1.

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

genera ca

Una volta generato il CA, copia sia ca.key che ca.crt sul server comp2.

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

copia certificati

Generazione Client

Dopo aver generato il CA, il certificato successivo di cui hai bisogno è un certificato client. Questo sarà utilizzato per connettersi al cluster CockroachDB in modo sicuro tramite TLS.

Ancora sul server comp1, esegui il seguente comando per creare il certificato client per l’utente predefinito root.

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

Una volta completato il processo, il tuo certificato client sarà disponibile in /opt/cockroachdb/certs/client.root.crt e /opt/cockroachdb/certs/client.root.key.

genera certificati client

Generazione Node

Infine, devi generare certificati Node, che dipendono anche dal numero di server all’interno del cluster. In questo esempio, genererò un certificato Node per i server comp1 e comp2.

Esegui il comando qui sotto sul server comp1 per generare un certificato Node per comp1. Assicurati di cambiare l’indirizzo IP e il fqdn con i dettagli del tuo server.

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

certificato node comp1

Spostati sul server comp2 ed esegui il comando qui sotto per generare un certificato Node per comp2. Cambia anche i dettagli dell’indirizzo IP e fqdn del server 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

certificato node comp2

Configurazione dei permessi per i certificati

Con tutti i certificati generati, esegui il seguente comando per consentire all’utente cockroach di accedere ai file dei certificati. Assicurati di eseguire questo su entrambi i server comp1 e comp2.

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

Configurazione del servizio Systemd

Dopo aver generato i certificati per CockroachDB, il passo successivo è creare il file di servizio CockroachDB per ciascun server. Poi, avvia e abilita il servizio CockroachDB.

Servizio CockroachDB per comp1

Sul server comp1, crea un nuovo servizio systemd /etc/systemd/system/cockroachdb.service con il comando dell’editor nano qui sotto.

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

Aggiungi queste configurazioni di servizio. Assicurati di cambiare il parametro –advertise-addr con l’indirizzo IP di comp1.

[Unit]  
Description=Node del cluster Cockroach Database  
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

Salva ed esci dal file quando hai finito.

Servizio CockroachDB per comp2

Spostati sul server comp2 ed esegui il comando dell’editor nano qui sotto per creare un nuovo file di servizio /etc/systemd/system/cockroachdb.service.

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

Inserisci la configurazione qui sotto e assicurati di cambiare il parametro –advertise-addr con l’indirizzo IP di comp2.

[Unit]  
Description=Node del cluster Cockroach Database  
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

Quando hai finito, salva il file ed esci dall’editor.

Avvio di CockroachDB

Con il file di servizio CockroachDB creato, ora puoi applicare le tue modifiche, quindi avviare e abilitare il servizio CockroachDB.

Esegui il seguente comando per ricaricare il gestore systemd e applicare il nuovo servizio per CockroachDB.

sudo systemctl daemon-reload

Ora avvia e abilita il servizio CockroachDB su entrambi i server comp1 e comp2 con il comando qui sotto.

sudo systemctl start cockroachdb  
sudo systemctl enable cockroachdb

avvia abilita servizio cockroachdb

Infine, verifica il servizio CockroachDB con il seguente comando per assicurarti che il servizio sia in esecuzione.

sudo systemctl status cockroachdb

Assicurati quindi di avere il servizio CockroachDB in esecuzione su entrambi i tuoi server Debian.

stato servizio cockroachdb comp1

stato servizio cockroachdb comp2

Inizializzazione del cluster CockroachDB

Ora che il servizio CockroachDB è in esecuzione su ciascun server, puoi continuare a inizializzare il cluster CockroachDB dal server comp1. Poi, crea l’utente admin per CockroachDB e accedi alla dashboard di amministrazione web di CockroachDB.

Nel server comp1, esegui il seguente comando per inizializzare il cluster CockroachDB. Dovresti ottenere un output “ Cluster inizializzato con successo “ quando il processo è completato.

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

Inoltre, puoi anche verificare il processo di inizializzazione tramite il file di log di CockroachDB con il comando qui sotto.

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

L’output ‘ CockroachDB node starting...’ conferma che il cluster è stato inizializzato.

cluster inizializzato

Successivamente, verifica il tuo cluster CockroachDB eseguendo il seguente comando. L’opzione ls è utilizzata per ottenere l’elenco dei server all’interno del cluster, mentre il comando status è utilizzato per controllare lo stato del 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

Qui sotto puoi vedere il numero di server all’interno del cluster CockroachDB, incluso lo stato di ciascun server.

Ora che il cluster è in esecuzione, esegui il seguente comando per accedere al server CockroachDB. Assicurati di eseguire questo comando dal server comp1, poiché il tuo certificato client è disponibile sulla macchina comp1.

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

Una volta connesso, vedrai il prompt di CockroachDB come segue:

shell sql cockroachdb

Esegui le seguenti query per creare un nuovo utente bob con la password p4ssw0rd. Poi, concedi i privilegi di amministratore all’utente bob.

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

Premi Ctrl+d per uscire dal server CockroachDB.

crea utente admin

Infine, apri il tuo browser web sulla tua macchina locale e visita l’indirizzo IP di comp1 con la porta 8080 (https://192.168.5.21:8080). Ti verrà presentata la pagina di accesso di CockroachDB.

Accedi con l’utente bob e la password p4ssw0rd.

pagina di accesso

Una volta effettuato l’accesso, vedrai la dashboard di amministrazione di CockroachDB come questa:

dashboard cockroachdb

Conclusione

Per concludere, hai ora completato l’installazione del cluster CockroachDB sui server Debian 12. Hai anche creato l’utente admin per CockroachDB e accesso alla dashboard di amministrazione web di CockroachDB. Ora puoi creare un nuovo database e utente, e utilizzare la dashboard di amministrazione web di CockroachDB per gestire l’installazione di CockroachDB.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.