LINUX

Cómo configurar el clúster de CockroachDB en Linux

cucarachaCockroachDB es un proyecto de código abierto que está diseñado para ser escalable y resistente a fallas. Las mejores características de RDBMS y NoSQL se combinan en este producto. Puede comenzar a usar CockroachDB desde un solo nodo y agregar más nodos a medida que su sistema crece de una manera simple. Sé que ahora quieres preguntar cómo integrar esta base de datos con tu aplicación. CockroachDB se basa en PostgreSQL, por lo que puede utilizar cualquier controlador de cliente u ORM compatible.

En este artículo, quiero mostrarle cómo configurar 3 nodos de CockroachDB y mostrar cómo puede monitorear su sistema.

Para este propósito, voy a utilizar tres sistemas CentOS con 512 MB de RAM y 1 vCPU para cada uno.
Antes de comenzar a instalar CockroachDB, debemos realizar algunos cambios en nuestros sistemas.
En primer lugar, asegúrese de que los puertos 8080 (para la interfaz de usuario web) y 26257 (puerto de comunicación) estén abiertos.

Si usa UFW:

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

Para firewalld:

# firewall-cmd --permanent --zone=public –-add-port=8080/tcp
# firewall-cmd --permanent --zone=public –-add-port=26257/tcp
# firewall-cmd –-reload

Nota: Si lo va a utilizar en producción, deberá configurar el servidor NTP y utilizar un usuario no root con privilegios de superusuario.

Ahora podemos iniciar la instalación. Para todos los hosts tenemos que descargar la última versión de CockroachDB, descomprimir y mover binarios a / usr / local / bin.

$ wget https://binaries.cockroachdb.com/cockroach-latest.linux-amd64.tgz?s=do
tar -xf cockroach-latest.linux-amd64.tgz?s=do --strip=1 cockroach-latest.linux-amd64/cockroach
# mv cockroach /usr/local/bin

Tenga en cuenta que los comandos se ejecutan como root o superusuario (#) y como usuario ($). Trabajar como root todo el tiempo es una mala forma.

Ahora podemos comprobar la versión.

$ cockroach version

y obtén algo como:

Build Tag: v1.0.4
Build Time: 2017/09/10 10:33:34
Distribution: CCL
Platform: linux amd64
Go Version: go1.8.3
C Compiler: gcc 6.3.0
Build SHA-1: 5b757262d33d814bda1deb2af20161a1f7749df3
Build Type: release

Parece que está funcionando y podemos iniciar nuestro clúster. En el primer nodo, ejecute:

$ cockroach start –-insecure –-background –-advertise-host=192.168.1.6

Un poco sobre banderas:

  • –insecure flag ejecutará el nodo sin SSL. De lo contrario, debe usar el indicador –certs-dir que apunta a certificados válidos.
  • –La ​​bandera de fondo se usa para ejecutarse en modo de fondo y liberar la línea de comando.
  • –advertise-host flag es una dirección IP o nombre de host de un nodo.

Ahora necesitamos conectar todos los demás nodos a este host. En el nodo dos ejecutar

$ cockroach start –-insecure –-background --advertise-host=192.168.1.80 --join=192.168.1.6:26257

Y en el nodo tres ejecute:

$ cockroach start –-insecure –-background --advertise-host=192.168.1.147 --join=192.168.1.6:26257

Nota: Asegúrese de haber cambiado –advertise-host y –join IPs

Abra su navegador y vaya a ‘http: // nodeURLorHOSTNAME: 8080’. En mi caso, es ‘http://192.168.1.6:8080’

descripción general del clúster cockroachdb

Haga clic en ‘Ver lista de nodos’ en la pestaña ‘Resumen’. Obtendrá todos los sistemas conectados juntos que comparten todos los datos de la base de datos.

nodos en vivo de cockroachdb

Eso es todo. Ahora puede usar su clúster para mantener los datos que se replican en todos los nodos. Si algún nodo se desconecta por cualquier motivo después de volver a conectarse, obtendrá todos los cambios que se realizaron mientras estuvo desconectado.

Para eliminar el nodo de un clúster, simplemente ejecute:

$ cockroach quit

Para fines de prueba, puede conectarse a cualquier nodo a través de ssh y ejecutar

$ cockroach sql

Este es un shell SQL donde puede ejecutar cualquier comando SQL. Después de la ejecución, debería ver cambios en las estadísticas y los gráficos. Antes de ejecutar, recomiendo leer sobre el dialecto SQL de CockroachDB en su sitio oficial. Para agregar más nodos, puede usar los pasos para los nodos dos y tres y escalar fácilmente su sistema horizontalmente.

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba
Cerrar