een CockroachDB Cluster installeren op Debian 11

CockroachDB is een open-source gedistribueerde en schaalbare SQL databank voor cloud toepassingen. CockroachDB biedt next-level consistentie, een gerepliceerde SQL database, en een transactionele gegevensopslag. CockroachDB slaat je gegevens op meerdere locaties op, waardoor de levering van gegevens sneller gaat. Ook is hij gemakkelijk te schalen en biedt hij hoge beschikbaarheid en fouttolerantie voor je toepassingen.

In deze handleiding laten we je zien hoe je het CockroachDB cluster op een Debian 11 server installeert.

Vereisten

  • Twee of meer Debian 11 servers.
  • Een root wachtwoord is op de servers ingesteld.

CockroachDB installeren op alle 3 de servers

Voor de installatie is kakkerlakdb eenvoudig te installeren. Dat komt omdat cockroachdb een binair bestand voor het Linux systeem levert dat je naar je systeem kunt downloaden.

Download het binaire bestand cockroachdb voor Linux met het volgende commando. Dit commando downloadt het binaire bestand van cockroachdb, pakt het gecomprimeerde bestand uit en verplaatst dan het binaire bestand van cockroachdb naar de map /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/

De kakkerlakdb gebruikte de aangepaste ingebouwde GEOS bibliotheek. De GEOS bibliotheek is opgenomen in het gecomprimeerde bestand van kakkerlakdb en moet geïnstalleerd worden in de lib directory.

Maak een nieuwe directory /usr/local/lib/cockroach met het onderstaande commando.

mkdir -p /usr/local/lib/cockroach

Kopieer nu de GEOS bibliotheek naar de /usr/local/lib/cockroach directory.

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/

De basisinstallatie van cockroachdb is geïnstalleerd op Debian servers.

download en installeer cockroachdb

Voer het volgende commando uit om het binaire bestand cockroachdb te controleren en de huidige versie van cockroachdb die je zojuist installeerde.

which cockroach
cockroach version

Je krijgt de volgende uitvoer.

kakkerlakkendb controleren

Firewall instellen

Als je de Firewall op je Debian servers draait, moet je de poorten van cockroachdb aan de firewall configuratie toevoegen.

De kakkerlakdb gebruikt poort 8080 voor het web-gebaseerde beheer kakkerlakdb, en poort 26257 voor de gebruikersverbindingen en cluster configuratie.

Voeg poorten 8080 en 25267 toe aan de UFW firewall met het volgende commando.

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

Herlaad nu de UFW firewall regels en controleer de huidige status van de firewall regels.

sudo ufw reload
sudo ufw status

Hieronder zie je dat poorten 8080 en 25267 aan de UFW firewall zijn toegevoegd.

setup ufw firewall

De CockroachDB Cluster initialiseren

Om het kakkerlakdb cluster te initialiseren, voer je het onderstaande commando uit op de server11.

Je moet de waarde van de volgende opties veranderen:

  • –store: voor het opslaan van de gegevens van de CockroachDB cluster.
  • –listen-addr: op welk IP adres de cockroachdb op de server zal draaien. De standaard poort voor kakkerlakdb is poort 25267.
  • –http-addr: op welk IP adres het web-gebaseerd beheer van cockroachdb zal draaien. De standaard web-gebaseerde administratie van cockroachdb is poort 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

Je krijgt de volgende uitvoer.

start cluster op server11

Ga nu naar server2 en voer het volgende commando uit om de cockroachdb te starten en je bij het cluster aan te sluiten. Verander het IP adres op –listen-addr en –http-addr in het IP adres van 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

Je krijgt de volgende uitvoer van server2.

start cluster op server2

Ga vervolgens naar server3 en voer het volgende commando uit om cockroachdb te starten en je bij het cockroachdb cluster aan te sluiten. Verander ook het IP adres van –listen-addr en –http-addr in het IP adres van 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

Je krijgt de volgende uitvoer van server3.

start cluster server3

Als alles voltooid is, ga je terug naar de server11 en voer je het onderstaande commando uit om het kakkerlakdb cluster te initialiseren.

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

Je krijgt de uitvoer boodschap‘cluster successfully initialized‘, wat betekent dat de cockroachdb cluster met succes geïnitialiseerd is.

Je kunt het grep commando hieronder uitvoeren om de log van de cockroachdb initialisatie te controleren. Verwissel de server11 directory met je –store cockroachdb directory.

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

Hieronder zie je de logs van de server11 cockroachdb cluster initialisatie.

geïnitialiseerd cluster

Open tenslotte je web browser en bezoek het server IP adres gevolgd door poort 8080.

http://192.168.10.11:8080/

Hieronder zie je dat er drie nodes op het kakkerlakdb cluster zijn.

kakkerlakdb cluster

Testen van het aanmaken van een nieuwe database op CockroachDB

Nu de cockroachdb cluster draait, kun je een willekeurige server als SQL gateway gebruiken om de cockroachdb te benaderen.

Voer het cockroach commando uit op server11 om verbinding te maken met het cockroachdb cluster.

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

Inloggen in SQL shell

Nadat je verbonden bent met de SQL shell, voer je de onderstaande query uit om een nieuwe database te maken.

CREATE DATABASE bank;

Maak nu een nieuwe tabel in de database met de volgende query.

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

Importeer vervolgens voorbeeldgegevens naar de tabel.

INSERT INTO bank.accounts (1, 1000.50);

Verifieer de gegevens op de database met de volgende query.

SELECT * FROM bank.accounts;

Je krijgt de volgende uitvoer.

Maak een nieuwe database en voeg gegevens in

Ga vervolgens naar server2 of server3 en meld je aan bij de cockroachdb SQL shell met het volgende commando.

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

Nadat je verbonden bent met de SQL shell op server3, voer je de volgende query uit om de replicatie van de database te controleren en te verifiëren.

SELECT * FROM bank.accounts;

Je zult zien dat de database en gegevens van server11 automatisch naar server2 en server3 gerepliceerd worden.

databank en replicatie controleren

Conclusie

Gefeliciteerd! Je hebt nu het cockroachdb cluster op Debian 11 servers geïnstalleerd en geconfigureerd. Ook heb je geleerd hoe je verbinding maakt met de cockroachdb shell en basis SQL commando’s om een database te maken en gegevens in te voegen.