Ricerca nel sito web

Come installare un cluster CockroachDB su Debian 11


Su questa pagina

  1. Prerequisiti
  2. Installazione di CockroachDB su tutti e 3 i server
  3. Impostazione del firewall
  4. Inizializzazione cluster CockroachDB
  5. Testare la creazione di un nuovo database su CockroachDB
  6. Conclusione

CockroachDB è un database SQL distribuito e scalabile open source per applicazioni cloud. CockroachDB offre coerenza di livello superiore, database SQL replicato e un archivio dati transazionale. CockroachDB memorizza i tuoi dati in più posizioni rendendo più veloce la consegna dei dati. Inoltre, è facile da scalare e fornisce elevata disponibilità e tolleranza ai guasti per le tue applicazioni.

In questo tutorial, ti mostreremo come installare il cluster CockroachDB sul server Debian 11.

Prerequisiti

  • Due o più server Debian 11.
  • Sui server è configurata una password di root.

Installazione di CockroachDB su tutti e 3 i server

Per l'installazione, cockroachdb è facile da installare. È perché cockroachdb fornisce un file binario per il sistema Linux che puoi scaricare sul tuo sistema.

Scarica il file binario cockroachdb per Linux usando il seguente comando. Questo comando scaricherà il file binario cockroachdb, estrarrà il file compresso, quindi sposterà il file binario di cockroachdb nella directory /usr/local/bin.

curl https://binaries.cockroachdb.com/cockroach-v21.2.8.linux-amd64.tgz | tar -xz && sudo cp -i cockroach-v21.2.8.linux-amd64/cockroach /usr/local/bin/

Il cockroachdb utilizzava la libreria GEOS incorporata personalizzata. La libreria GEOS è inclusa nel file compresso di cockroachdb e deve essere installata nella directory lib.

Crea una nuova directory /usr/local/lib/cockroach utilizzando il comando seguente.

mkdir -p /usr/local/lib/cockroach

Ora copia la libreria GEOS nella directory /usr/local/lib/cockroach.

cp -i cockroach-v21.2.8.linux-amd64/lib/libgeos.so /usr/local/lib/cockroach/
cp -i cockroach-v21.2.8.linux-amd64/lib/libgeos_c.so /usr/local/lib/cockroach/

L'installazione di base di cockroachdb è installata sui server Debian.

Esegui il seguente comando per controllare il file binario cockroachdb e la versione corrente di cockroachdb che hai appena installato.

which cockroach
cockroach version

Otterrai il seguente output.

Configurazione del firewall

Se stai eseguendo il firewall sui tuoi server Debian, dovrai aggiungere le porte cockroachdb alla configurazione del firewall.

Il cockroachdb utilizzava la porta 8080 per l'amministrazione basata sul Web cockroachdb e la porta 26257 per le connessioni utente e la configurazione del cluster.

Aggiungi le porte 8080 e 25267 al firewall UFW utilizzando il seguente comando.

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

Ora ricarica le regole del firewall UFW e verifica lo stato corrente delle regole del firewall.

sudo ufw reload
sudo ufw status

Di seguito puoi vedere le porte 8080 e 25267 aggiunte al firewall UFW.

Inizializzazione del cluster CockroachDB

Per inizializzare il cluster cockroachdb, eseguire il comando seguente sul server11.

Sarà necessario modificare il valore delle seguenti opzioni:

  • --store: per archiviare i dati del cluster CockroachDB.
  • --listen-addr: quale indirizzo IP verrà eseguito da cockroachdb sul server. La porta predefinita per cockroachdb è la porta 25267.
  • --http-addr: su quale indirizzo IP verrà eseguita l'amministrazione web di cockroachdb. L'amministrazione web predefinita di cockroachdb è la porta 8080.

cockroach start \
--insecure \
--store=server11 \
--listen-addr=192.168.10.11:26257 \
--http-addr=192.168.10.11:8080 \
--join=192.168.10.11:26257,192.168.10.13:26258,192.168.10.14:26259 \
--background

Otterrai il seguente output.

Ora spostati su server2 ed esegui il seguente comando per avviare il cockroachdb e unirti al cluster. Cambia l'indirizzo IP su --listen-addr e --http-addr con l'indirizzo IP del server2.

cockroach start \
--insecure \
--store=server2 \
--listen-addr=192.168.10.13:26257 \
--http-addr=192.168.10.13:8080 \
--join=192.168.10.11:26257,192.168.10.13:26258,192.168.10.14:26259 \
--background

Otterrai il seguente output dal server2.

Successivamente, passa a server3 ed esegui il seguente comando per avviare il cockroachdb e unirti al cluster cockroachdb. Inoltre, cambia l'indirizzo IP di --listen-addr e --http-addr con l'indirizzo IP del server3.

cockroach start \
--insecure \
--store=server3 \
--listen-addr=192.168.10.14:26257 \
--http-addr=192.168.10.14:8080 \
--join=192.168.10.11:26257,192.168.10.13:26258,192.168.10.14:26259 \
--background

Otterrai il seguente output dal server3.

Dopo che tutto è stato completato, torna al server11 ed esegui il comando seguente per inizializzare il cluster cockroachdb.

cockroach init --insecure --host=192.168.10.11:26257

Otterrai il cluster del messaggio di output inizializzato correttamente, il che significa che il cluster cockroachdb è stato inizializzato correttamente.

È possibile eseguire il comando grep di seguito per controllare il registro dell'inizializzazione di cockroachdb. Cambia la directory server11 con la tua directory --store cockroachdb.

grep 'node starting' server11/logs/cockroach.log -A 11

Di seguito puoi vedere i log dall'inizializzazione del cluster server11 cockroachdb.

Infine, apri il tuo browser web e visita l'indirizzo IP del server seguito dalla porta 8080.

Di seguito puoi vedere che ci sono tre nodi nel cluster cockroachdb.

Test Crea un nuovo database su CockroachDB

Ora che il cluster cockroachdb è in esecuzione, puoi utilizzare qualsiasi server come gateway SQL per accedere a cockroachdb.

Eseguire il comando scarafaggio sul server11 per connettersi al cluster cockroachdb.

cockroach sql --insecure --host=192.168.10.11:26257

Dopo esserti connesso alla shell SQL, esegui la query seguente per creare un nuovo database.

CREATE DATABASE bank;

Ora crea una nuova tabella nel database usando la seguente query.

CREATE TABLE bank.accounts (id INT PRIMARY KEY, balance DECIMAL);

Successivamente, importa i dati di esempio nella tabella.

INSERT INTO bank.accounts (1, 1000.50);

Verificare i dati nel database utilizzando la query seguente.

SELECT * FROM bank.accounts;

Otterrai il seguente output.

Successivamente, passa a server2 o server3 e accedi alla shell SQL cockroachdb utilizzando il seguente comando.

cockroach sql --insecure --host=192.168.10.14:26257

Dopo esserti connesso alla shell SQL su server3, esegui la seguente query per controllare e verificare la replica del database.

SELECT * FROM bank.accounts;

Vedrai che il database e i dati dal server11 vengono automaticamente replicati su server2 e server3.

Conclusione

Congratulazioni! Ora hai installato e configurato il cluster cockroachdb sui server Debian 11. Inoltre, hai imparato a connetterti alla shell cockroachdb e ai comandi SQL di base per creare un database e inserire dati.