Cómo instalar un clúster de CockroachDB en Debian 11

descargar e instalar cucarachadb

CockroachDB es una base de datos SQL escalable y distribuida de código abierto para aplicaciones en la nube. CockroachDB proporciona consistencia de siguiente nivel, base de datos SQL replicada y un almacén de datos transaccionales. CockroachDB almacena sus datos en múltiples ubicaciones, lo que hace que la entrega de datos sea más rápida. Además, es fácil de escalar y brinda alta disponibilidad y tolerancia a fallas para sus aplicaciones.

En este tutorial, le mostraremos cómo instalar un clúster de CockroachDB en un entorno de ‘debian cluster’ en Debian 11.

Requisitos previos

  • Dos o más servidores Debian 11 configurados en un ‘debian cluster’.
  • Una contraseña de root está configurada en los servidores.

Instalación de CockroachDB en los 3 servidores

Para la instalación, CockroachDB es fácil de instalar. Es porque CockroachDB proporciona un archivo binario para el sistema Linux que puede descargar a su sistema.

Descargue el archivo binario de CockroachDB para Linux usando el siguiente comando. Este comando descargará el archivo binario de CockroachDB, extraerá el archivo comprimido y luego moverá el archivo binario de CockroachDB al directorio /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/

CockroachDB utiliza la biblioteca GEOS integrada personalizada. La biblioteca GEOS está incluida en el archivo comprimido de CockroachDB y debe instalarse en el directorio lib.

Cree un nuevo directorio /usr/local/lib/cockroach usando el siguiente comando.

mkdir -p /usr/local/lib/cockroach

Ahora copie la biblioteca GEOS en el directorio /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/

La instalación básica de CockroachDB está completa en los servidores Debian.

descargar e instalar cockroachdb

Ejecute el siguiente comando para verificar el archivo binario de CockroachDB y la versión actual de CockroachDB que acaba de instalar.

which cockroach
cockroach version

Obtendrá el siguiente resultado.

comprobando cockroachdb

Configuración del cortafuegos

Si está ejecutando el cortafuegos en sus servidores Debian, deberá agregar los puertos de CockroachDB a la configuración del cortafuegos.

El puerto usado por CockroachDB 8080 para la administración basada en web y el puerto 26257 para las conexiones de usuario y la configuración del clúster.

Agregar puertos 8080 y 26257 al firewall UFW usando el siguiente comando.

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

Ahora vuelva a cargar las reglas de firewall de UFW y verifique el estado actual de las reglas de firewall.

sudo ufw reload
sudo ufw status

A continuación, puede ver que los puertos 8080 y 26257 se agregaron al cortafuegos UFW.

configurar el cortafuegos ufw

Inicializando el clúster de CockroachDB

Para inicializar el clúster de CockroachDB, ejecute el siguiente comando en el servidor 11.

Deberá cambiar el valor de las siguientes opciones:

  • –store: para almacenar los datos del clúster de CockroachDB.
  • –listen-addr: qué dirección IP ejecutará CockroachDB en el servidor. El puerto predeterminado para CockroachDB es el 26257.
  • –http-addr: en qué dirección IP se ejecutará la administración basada en web de CockroachDB. La administración web predeterminada de CockroachDB es el puerto 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

Obtendrá el siguiente resultado.

iniciar el clúster en el servidor 11

Ahora muévase al servidor 2 y ejecute el siguiente comando para iniciar CockroachDB y unirse al clúster. Cambie la dirección IP en –listen-addr y –http-addr a la dirección IP del servidor 2.

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

Obtendrá el siguiente resultado del servidor 2.

iniciar el clúster en el servidor 2

A continuación, muévase al servidor 3 y ejecute el siguiente comando para iniciar CockroachDB y unirse al clúster. Cambie la dirección IP en –listen-addr y –http-addr a la dirección IP del servidor 3.

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

Obtendrá el siguiente resultado del servidor 3.

iniciar clúster en el servidor 3

Una vez que todo está completo, regrese al servidor 11 y ejecute el siguiente comando para inicializar el clúster de CockroachDB.

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

Obtendrá el mensaje ‘Clúster inicializado con éxito‘, lo que significa que el clúster de CockroachDB se inicializó correctamente.

Puede ejecutar el comando grep a continuación para verificar el registro de la inicialización de CockroachDB. Cambie el directorio ‘server11’ con su directorio –store de CockroachDB.

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

A continuación, puede ver los registros de la inicialización del clúster de CockroachDB en el servidor 11.

clúster inicializado

Por último, abra su navegador web y visite la dirección IP del servidor seguida del puerto 8080.

http://192.168.10.11:8080/

A continuación, puede ver que hay tres nodos en el clúster de CockroachDB.

grupo de cockroachdb

Probando la creación de una nueva base de datos en CockroachDB

Ahora que tiene el clúster de CockroachDB en ejecución, puede usar cualquier servidor como puerta de enlace SQL para acceder a CockroachDB.

Ejecute el comando de CockroachDB en el servidor 11 para conectarse al clúster de CockroachDB.

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

Inicie sesión en el shell SQL

Una vez que esté conectado al shell SQL, ejecute la siguiente consulta para crear una nueva base de datos.

CREATE DATABASE bank;

Ahora cree una nueva tabla en la base de datos usando la siguiente consulta.

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

A continuación, inserte datos de muestra en la tabla.

INSERT INTO bank.accounts (id, balance) VALUES (1, 1000.50);

Verifique los datos en la base de datos usando la siguiente consulta.

SELECT * FROM bank.accounts;

Obtendrá el siguiente resultado.

Crear nueva base de datos e insertar datos

A continuación, muévase al servidor 2 o servidor 3 e inicie sesión en el shell SQL de CockroachDB con el siguiente comando.

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

Después de conectarse al shell SQL en el servidor 3, ejecute la siguiente consulta para comprobar y verificar la replicación de la base de datos.

SELECT * FROM bank.accounts;

Verá que la base de datos y los datos del servidor 11 se replican automáticamente en el servidor 2 y el servidor 3.

comprobando la base de datos y la replicación

Conclusión

¡Felicidades! Ya ha instalado y configurado el clúster de CockroachDB en servidores Debian 11, creando efectivamente un ‘debian cluster’ robusto. Además, aprendió cómo conectarse al shell de CockroachDB y los comandos SQL básicos para crear una base de datos e insertar datos. Con estos conocimientos, puede comenzar a construir aplicaciones altamente disponibles y resistentes a fallas que aprovechen la potencia y escalabilidad de CockroachDB.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *