ClickHouse es un sistema de gestión de base de datos OLAP rápido, gratuito y de código abierto que se utiliza para generar informes analíticos mediante consultas SQL en tiempo real. Está orientado a columnas y tiene otras características importantes como facilidad de uso, escalabilidad y seguridad. Almacena registros en bloques agrupados por columnas en lugar de filas. En comparación con los sistemas basados en filas, las bases de datos orientadas a columnas dedican menos tiempo a leer y calcular los datos.
En esta publicación, le mostraremos cómo instalar ClickHouse en el servidor Ubuntu 20.04.
Requisitos
- Un nuevo servidor Ubuntu 20.04 en Atlantic.Net Cloud Platform
- Una contraseña de root configurada en su servidor
Paso 1:crear el servidor en la nube de Atlantic.Net
Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo Ubuntu 20.04 como sistema operativo con al menos 2 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.
Una vez que haya iniciado sesión en su servidor Ubuntu 20.04, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.
apt-get update -y
Paso 2:agregue el repositorio de ClickHouse
Primero, instale las dependencias requeridas usando el siguiente comando:
apt-get install curl gnupg2 wget git apt-transport-https ca-certificates -y
Una vez que todas las dependencias estén instaladas, agregue la clave GPG con el siguiente comando:
apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4
Salida:
Executing: /tmp/apt-key-gpghome.kaYYOnkSVy/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
A continuación, agregue el repositorio de ClickHouse a APT con 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 con el siguiente comando:
apt-get update -y
Paso 3:instalar ClickHouse
Ahora, instale el servidor y el cliente de ClickHouse con el siguiente comando:
apt-get install clickhouse-server clickhouse-client -y
Una vez que ClickHouse esté instalado, inicie el servicio ClickHouse y habilítelo para que se inicie al reiniciar el sistema:
systemctl start clickhouse-server systemctl enable clickhouse-server
Ahora puede verificar el estado de ClickHouse con el siguiente comando:
systemctl status clickhouse-server
Salida:
● 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 Wed 2021-05-05 03:17:41 UTC; 4s ago Main PID: 26649 (clckhouse-watch) Tasks: 46 (limit: 2353) Memory: 46.4M CGroup: /system.slice/clickhouse-server.service ├─26649 clickhouse-watchdog --config=/etc/clickhouse-server/config.xml --pid-file=/run/clickhouse-server/clickhouse-server> └─26650 /usr/bin/clickhouse-server --config=/etc/clickhouse-server/config.xml --pid-file=/run/clickhouse-server/clickhouse-server> May 05 03:17:41 ubuntu2004 systemd[1]: Started ClickHouse Server (analytic DBMS for big data). May 05 03:17:41 ubuntu2004 clickhouse-server[26649]: Processing configuration file '/etc/clickhouse-server/config.xml'. May 05 03:17:41 ubuntu2004 clickhouse-server[26649]: Logging trace to /var/log/clickhouse-server/clickhouse-server.log May 05 03:17:41 ubuntu2004 clickhouse-server[26649]: Logging errors to /var/log/clickhouse-server/clickhouse-server.err.log May 05 03:17:41 ubuntu2004 clickhouse-server[26650]: Processing configuration file '/etc/clickhouse-server/config.xml'. May 05 03:17:41 ubuntu2004 clickhouse-server[26650]: Saved preprocessed configuration to '/var/lib/clickhouse/preprocessed_configs/config.xml'. May 05 03:17:41 ubuntu2004 clickhouse-server[26650]: Processing configuration file '/etc/clickhouse-server/users.xml'. May 05 03:17:41 ubuntu2004 clickhouse-server[26650]: Saved preprocessed configuration to '/var/lib/clickhouse/preprocessed_configs/users.xml'.
Paso 4:establezca la contraseña de ClickHouse
nano /etc/clickhouse-server/users.xml
Busque la siguiente línea:
<password></password>
Y lo reemplazó con el siguiente comando:
<password>MyPassword</password>
Guarde y cierre el archivo, luego reinicie el servicio ClickHouse para aplicar los cambios:
systemctl restart clickhouse-server
Paso 5:trabajar con ClickHouse
En esta sección, le mostraremos cómo interactuar con la base de datos de ClickHouse.
Primero, conecte ClickHouse usando el siguiente comando:
clickhouse-client --password
Se le pedirá que proporcione una contraseña para el usuario predeterminado como se muestra a continuación:
ClickHouse client version 21.4.6.55 (official build). Password for user (default):
Proporcione su contraseña y presione ENTRAR . Una vez que esté conectado, será redirigido al shell de ClickHouse:
Connecting to localhost:9000 as user default. Connected to ClickHouse server version 21.4.6 revision 54447. ubuntu2004 :)
Para crear una base de datos llamada mydb, ejecute el siguiente comando:
ubuntu2004 :) CREATE DATABASE mydb;
Salida:
CREATE DATABASE mydb Query id: 9f82c771-a072-495e-b2a7-cc9618d9b73f Ok. 0 rows in set. Elapsed: 0.008 sec.
Cambie la base de datos a mydb, ejecute el siguiente comando:
ubuntu2004 :) USE mydb;
Salida:
USE mydb Query id: d94a4fb5-f3fd-41a9-a27f-0bb9efa9e020 Ok. 0 rows in set. Elapsed: 0.002 sec.
Para crear una tabla con el nombre de datos, ejecute el siguiente comando:
ubuntu2004 :) CREATE TABLE data ( id UInt64, name String, url String, created DateTime ) ENGINE = MergeTree() PRIMARY KEY id ORDER BY id;
Salida:
CREATE TABLE data ( `id` UInt64, `name` String, `url` String, `created` DateTime ) ENGINE = MergeTree PRIMARY KEY id ORDER BY id Query id: 6039b4d9-c296-4115-b4bb-06a1bbe5499f Ok. 0 rows in set. Elapsed: 0.011 sec.
Inserte algunos datos en la tabla con el siguiente comando:
ubuntu2004 :) INSERT INTO data VALUES (1, 'hitesh', 'http://example.com', '2021-05-01 00:01:01');
Salida:
INSERT INTO data VALUES Query id: f7dfd959-688a-4481-8fb8-85e49c669b9e Ok. 1 rows in set. Elapsed: 0.022 sec.
Para agregar una nueva columna, ejecute el siguiente comando:
ubuntu2004 :) ALTER TABLE data ADD COLUMN location String;
Salida:
ALTER TABLE data ADD COLUMN `location` String Query id: 7d40bfee-0d0c-4113-bcd9-fd89ac42b82b Ok. 0 rows in set. Elapsed: 0.038 sec.
Para recuperar los datos de la tabla, ejecute el siguiente comando:
ubuntu2004 :) SELECT url, name FROM data WHERE url = 'http://example.com' LIMIT 1;
Salida:
SELECT url, name FROM data WHERE url = 'http://example.com' LIMIT 1 Query id: 60dd1e11-f2d9-4b33-8403-6e1859fa266a ┌─url────────────────┬─name───┐ │ http://example.com │ hitesh │ └────────────────────┴────────┘ 1 rows in set. Elapsed: 0.007 sec.
Para eliminar una columna de la tabla de datos, ejecute el siguiente comando:
ubuntu2004 :) ALTER TABLE data DROP COLUMN location;
Salida:
ALTER TABLE data DROP COLUMN location Query id: 6feffa20-7d33-490f-b8b5-a2d3c1ad93a1 Ok. 0 rows in set. Elapsed: 0.017 sec.
Para eliminar una tabla de datos, ejecute el siguiente comando:
ubuntu2004 :) DROP TABLE data;
Salida:
DROP TABLE data Query id: bbac3bd1-8f1d-40b9-8f35-e5816de45855 Ok. 0 rows in set. Elapsed: 0.008 sec.
Para eliminar una base de datos mydb, ejecute el siguiente comando:
ubuntu2004 :) DROP DATABASE mydb;
Salida:
DROP DATABASE mydb Query id: 6fa79629-e2a9-4dcc-ba11-4a6684a085c3 Ok. 0 rows in set. Elapsed: 0.002 sec.
A continuación, salga del shell de ClickHouse con el siguiente comando:
ubuntu2004 :) exit;
Paso 6:habilite la interfaz de usuario web de ClickHouse
nano /etc/clickhouse-server/config.xml
Descomente y cambie el listen_host línea y http_server_default_response como se muestra a continuación:
<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="http://loader.tabix.io/master.js"></script></body></html>]]></http_server_default_response>
Guarde y cierre el archivo, luego reinicie el servidor de ClickHouse para aplicar los cambios:
systemctl restart clickhouse-server
Ahora, abra su navegador web y escriba la URL http://your-server-ip:8123 . Debería ver la página de inicio de sesión de ClickHouse:
Proporcione su nombre de usuario y contraseña predeterminados y luego haga clic en Iniciar sesión botón. Debería ver el panel de control de ClickHouse en la siguiente página:
Conclusión
¡Felicidades! Ha instalado y configurado correctamente ClickHouse en Ubuntu 20.04. Espero que ahora tenga suficiente conocimiento sobre cómo interactuar con una base de datos de ClickHouse en su cuenta de alojamiento VPS. Para obtener más información, puede visitar la página de documentación de ClickHouse. https://clickhouse.yandex/docs/en/