Cómo instalar el sistema de base de datos OLAP de ClickHouse en Debian 11

Interfaz de usuario web de ClickHouse

ClickHouse es un sistema de administraci√≥n de bases de datos gratuito, de c√≥digo abierto y orientado a columnas. Se utiliza para el procesamiento anal√≠tico en l√≠nea y le permite generar informes anal√≠ticos mediante consultas SQL en tiempo real. Almacena registros en bloques agrupados por columnas en lugar de filas. Por lo tanto, pasa menos tiempo leyendo datos mientras completa consultas. Adem√°s, las bases de datos orientadas a columnas pueden calcular y devolver resultados mucho m√°s r√°pido que los sistemas tradicionales basados ‚Äč‚Äčen filas para ciertas cargas de trabajo.

En esta publicación, le mostraremos cómo instalar la base de datos ClickHoust en Debian 11.

Requisitos previos

  • Un servidor que ejecuta Debian 11.
  • Una contrase√Īa de root est√° configurada en su servidor.

Empezando

Antes de comenzar, deberá actualizar los paquetes de su sistema a la versión actualizada. Puede actualizarlos ejecutando el siguiente comando:

apt-get update -y

Una vez que todos los paquetes estén actualizados, instale otros paquetes requeridos usando el siguiente comando:

apt-get install curl gnupg2 wget git apt-transport-https ca-certificates -y

Una vez que todos los paquetes necesarios estén instalados, puede continuar con el siguiente paso.

Instalar ClickHouse en Debian 11

De forma predeterminada, el paquete ClickHouse no est√° incluido en el repositorio predeterminado de Debian 11. Por lo tanto, deber√° agregar el repositorio de ClickHouse a su sistema.

Primero, descargue y agregue la clave GPG usando el siguiente comando:

apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4

Obtendr√° el siguiente resultado:

Executing: /tmp/apt-key-gpghome.WyTt1Mpvh7/gpg.1.sh --keyserver keyserver.ubuntu.com --recv E0C56BD4
gpg: key C8F1E19FE0C56BD4: public key "ClickHouse Repository Key <[email protected]>" imported
gpg: Total number processed: 1
gpg:               imported: 1

Luego, agregue el repositorio de ClickHouse al APT usando el siguiente comando:

echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" | tee /etc/apt/sources.list.d/clickhouse.list

A continuación, actualice el repositorio e instale ClickHouse con el siguiente comando:

apt-get update -y
apt-get install clickhouse-server clickhouse-client -y

Durante la instalaci√≥n, se le pedir√° que proporcione una contrase√Īa para el usuario administrador de ClickHouse, como se muestra a continuaci√≥n:

Enter password for default user: 
Password for default user is saved in file /etc/clickhouse-server/users.d/default-password.xml.
Setting capabilities for clickhouse binary. This is optional.
 chown -R clickhouse:clickhouse '/etc/clickhouse-server'

ClickHouse has been successfully installed.

Start clickhouse-server with:
 sudo clickhouse start

Start clickhouse-client with:
 clickhouse-client --password

Synchronizing state of clickhouse-server.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable clickhouse-server
Created symlink /etc/systemd/system/multi-user.target.wants/clickhouse-server.service ‚Üí /etc/systemd/system/clickhouse-server.service.
Setting up clickhouse-client (21.12.3.32) ...

Una vez completada la instalación, puede continuar con el siguiente paso.

Administrar el servicio ClickHouse

Ahora puede iniciar el servicio ClickHouse y permitir que se inicie al reiniciar el sistema con el siguiente comando:

systemctl start clickhouse-server 
systemctl enable clickhouse-server

Ahora puede verificar el estado de ClickHouse con el siguiente comando:

systemctl status clickhouse-server

Obtendr√° el siguiente resultado:

? clickhouse-server.service - ClickHouse Server (analytic DBMS for big data)
     Loaded: loaded (/etc/systemd/system/clickhouse-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-12-31 11:22:57 UTC; 9s ago
   Main PID: 18152 (clckhouse-watch)
      Tasks: 206 (limit: 2341)
     Memory: 108.2M
        CPU: 931ms
     CGroup: /system.slice/clickhouse-server.service
             ??18152 clickhouse-watchdog        --config=/etc/clickhouse-server/config.xml --pid-file=/run/clickhouse-server/clickhouse-serve>
             ??18153 /usr/bin/clickhouse-server --config=/etc/clickhouse-server/config.xml --pid-file=/run/clickhouse-server/clickhouse-serve>

Dec 31 11:22:57 debian11 systemd[1]: Started ClickHouse Server (analytic DBMS for big data).
Dec 31 11:22:57 debian11 clickhouse-server[18152]: Processing configuration file '/etc/clickhouse-server/config.xml'.
Dec 31 11:22:57 debian11 clickhouse-server[18152]: Logging trace to /var/log/clickhouse-server/clickhouse-server.log
Dec 31 11:22:57 debian11 clickhouse-server[18152]: Logging errors to /var/log/clickhouse-server/clickhouse-server.err.log
Dec 31 11:22:58 debian11 clickhouse-server[18153]: Processing configuration file '/etc/clickhouse-server/config.xml'.
Dec 31 11:22:58 debian11 clickhouse-server[18153]: Saved preprocessed configuration to '/var/lib/clickhouse/preprocessed_configs/config.xml'.
Dec 31 11:22:58 debian11 clickhouse-server[18153]: Processing configuration file '/etc/clickhouse-server/users.xml'.
Dec 31 11:22:58 debian11 clickhouse-server[18153]: Merging configuration file '/etc/clickhouse-server/users.d/default-password.xml'.
Dec 31 11:22:58 debian11 clickhouse-server[18153]: Saved preprocessed configuration to '/var/lib/clickhouse/preprocessed_configs/users.xml'.

Cómo utilizar ClickHouse

En esta sección, le mostraremos cómo conectarse a ClickHouse, crear una base de datos y una tabla.

Primero, conéctese a ClickHouse usando el siguiente comando:

clickhouse-client --password

Se le pedir√° que proporcione la contrase√Īa predeterminada como se muestra a continuaci√≥n:

ClickHouse client version 21.12.3.32 (official build).
Password for user (default): 

Provide the password which you have set during the installation and press the Enter key. You will get the following shell:

Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 21.12.3 revision 54452.

debian11 :) 

Ahora, cree una base de datos llamada testdb usando el siguiente comando:

debian11 :) CREATE DATABASE testdb;

Obtendr√° el siguiente resultado:

CREATE DATABASE testdb

Query id: a48b3031-a363-4357-b4f9-ffd3edd73b0e

Ok.

0 rows in set. Elapsed: 0.005 sec. 

Luego, cambie la base de datos a testdb usando el siguiente comando:

debian11 :) USE testdb;

Obtendr√° el siguiente resultado:

USE testdb

Query id: 827e0d94-c3eb-46ec-ba04-97386a58e531

Ok.

0 rows in set. Elapsed: 0.001 sec. 

A continuación, cree una tabla llamada table1 usando el siguiente comando:

debian11 :) CREATE TABLE table1 (? id UInt64,? name String,? url String,? created DateTime?) ENGINE = MergeTree()?PRIMARY KEY id?ORDER BY id;

Obtendr√° el siguiente resultado:

CREATE TABLE table1
(
    `id` UInt64,
    `name` String,
    `url` String,
    `created` DateTime
)
ENGINE = MergeTree
PRIMARY KEY id
ORDER BY id

Query id: 922f4fe1-283f-4e5d-9966-498344b2aa4d

Ok.

0 rows in set. Elapsed: 0.006 sec. 

Luego, inserte alg√ļn valor en la tabla usando el siguiente comando:

debian11 :) INSERT INTO table1 VALUES (1, 'jay', 'https://www.howtoforge.com', '2021-12-31 00:01:01');

Obtendr√° el siguiente resultado:

INSERT INTO table1 FORMAT Values

Query id: be1c57cd-5759-47cd-8649-ce82cd0c1f7d

Ok.

1 rows in set. Elapsed: 0.005 sec. 

A continuación, agregue una nueva columna con el siguiente comando:

debian11 :) ALTER TABLE table1 ADD COLUMN location String;

Obtendr√° el siguiente resultado:

ALTER TABLE table1
    ADD COLUMN `location` String

Query id: 106fa166-afda-4598-a32c-b50da237bfe5

Ok.

0 rows in set. Elapsed: 0.007 sec. 

Si desea recuperar los datos de la tabla, ejecute el siguiente comando:

debian11 :) SELECT url, name FROM table1 WHERE url = 'https://www.howtoforge.com' LIMIT 1;

Obtendr√° el siguiente resultado:

SELECT
    url,
    name
FROM table1
WHERE url = 'https://www.howtoforge.com'
LIMIT 1

Query id: 8ee433ec-0eb1-4409-b9a8-7e5794b872ce

??url?????????????????????name??
? https://www.howtoforge.com ? jay  ?
????????????????????????????????

1 rows in set. Elapsed: 0.007 sec. 

Para eliminar una columna, ejecute el siguiente comando:

debian11 :) ALTER TABLE table1 DROP COLUMN location;

Para eliminar una tabla, ejecute el siguiente comando:

debian11 :) DROP TABLE table1;

Para eliminar una base de datos, ejecute el siguiente comando:

debian11 :) DROP DATABASE testdb;

Para salir del shell de ClickHouse, ejecute el siguiente comando:

debian11 :) exit;

Habilitar la interfaz de usuario web de ClickHouse

ClickHouse también proporciona una interfaz basada en web para administrar la base de datos. Pero, está deshabilitado por defecto. Puede habilitarlo editando el archivo de configuración de ClickHouse: Anuncio

nano /etc/clickhouse-server/config.xml

Descomente y cambie las siguientes líneas:

 <listen_host>0.0.0.0</listen_host>
    <http_server_default_response><![CDATA[<html ng-app="SMI2"><head><base href="http://ui.tabix.io/"></head><body><div ui-view="" class="content-ui"></div><script src="https://loader.tabix.io/master.js"></script></body></html>]]></http_server_default_response>

Guarde y cierre el archivo, luego reinicie el servicio ClickHouse para aplicar los cambios de configuración:

systemctl restart clickhouse-server

Acceder a la interfaz de usuario web de ClickHouse

De forma predeterminada, la interfaz de usuario web de ClickHouse escucha en el puerto 8123. Puedes comprobarlo usando el siguiente comando:

ss -antpl | grep 8123

Debería ver el siguiente resultado:

LISTEN 0      4096         0.0.0.0:8123      0.0.0.0:*    users:(("clickhouse-serv",pid=18580,fd=158)) 

Ahora, abra su navegador web y acceda a la interfaz de usuario web de ClickHouse usando la URL http://su-servidor-ip:8123. Debería ver la siguiente pantalla:

Interfaz de usuario web de ClickHouse

Proporcione su nombre de usuario y contrase√Īa predeterminados y haga clic en el Registrarse bot√≥n. Una vez que haya iniciado sesi√≥n, deber√≠a ver la siguiente pantalla:

Tabix

Conclusión

En la guía anterior, explicamos cómo instalar el sistema de base de datos ClickHouse en Debian 11. También explicamos cómo crear y administrar bases de datos y habilitar la interfaz web de ClickHouse. Espero que esto le ayude a instalar ClickHouse en el entorno de producción. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

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