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/cockroachdbScarica 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.tgzUna 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 --versionPuoi vedere qui sotto che CockroachDB v23.1.14 è installato, che è l’ultima versione del momento.

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
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 enableUna volta abilitato UFW, vedrai l’output ‘Il firewall è attivo e abilitato all’avvio del sistema’.

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/tcpInfine, 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
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
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/
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.keyUna volta completato il processo, il tuo certificato client sarà disponibile in /opt/cockroachdb/certs/client.root.crt e /opt/cockroachdb/certs/client.root.key.

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
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
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/privateConfigurazione 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.serviceAggiungi 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.targetSalva 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.serviceInserisci 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.targetQuando 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-reloadOra 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
Infine, verifica il servizio CockroachDB con il seguente comando per assicurarti che il servizio sia in esecuzione.
sudo systemctl status cockroachdbAssicurati quindi di avere il servizio CockroachDB in esecuzione su entrambi i tuoi server Debian.


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:26257Inoltre, 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 11L’output ‘ CockroachDB node starting...’ conferma che il cluster è stato 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 statusQui 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:26257Una volta connesso, vedrai il prompt di CockroachDB come segue:

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.

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.

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

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.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.