Ricerca nel sito web

Come installare il sistema di database OLAP di ClickHouse su Debian 11


Su questa pagina

  1. Prerequisiti
  2. Per iniziare
  3. Installa ClickHouse su Debian 11
  4. Gestisci il servizio ClickHouse
  5. Come utilizzare ClickHouse
  6. Abilita l'interfaccia utente Web di ClickHouse
  7. Accedi all'interfaccia utente Web di ClickHouse
  8. Conclusione

ClickHouse è un sistema di gestione di database gratuito, open source e orientato alle colonne. Viene utilizzato per l'elaborazione analitica online e consente di generare report analitici utilizzando query SQL in tempo reale. Memorizza i record in blocchi raggruppati per colonne anziché per righe. Pertanto, impiega meno tempo a leggere i dati durante il completamento delle query. Inoltre, i database orientati alle colonne possono calcolare e restituire risultati molto più velocemente rispetto ai tradizionali sistemi basati su righe per determinati carichi di lavoro.

In questo post, ti mostreremo come installare il database ClickHoust su Debian 11.

Prerequisiti

  • Un server che esegue Debian 11.
  • Una password di root è configurata sul tuo server.

Iniziare

Prima di iniziare, dovrai aggiornare i tuoi pacchetti di sistema alla versione aggiornata. Puoi aggiornarli eseguendo il seguente comando:

apt-get update -y

Una volta aggiornati tutti i pacchetti, installa gli altri pacchetti richiesti utilizzando il seguente comando:

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

Una volta installati tutti i pacchetti richiesti, puoi procedere al passaggio successivo.

Installa ClickHouse su Debian 11

Per impostazione predefinita, il pacchetto ClickHouse non è incluso nel repository predefinito di Debian 11. Quindi dovrai aggiungere il repository ClickHouse al tuo sistema.

Innanzitutto, scarica e aggiungi la chiave GPG utilizzando il seguente comando:

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

Otterrai il seguente output:

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

Successivamente, aggiungi il repository ClickHouse all'APT usando il seguente comando:

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

Successivamente, aggiorna il repository e installa ClickHouse con il seguente comando:

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

Durante l'installazione, ti verrà chiesto di fornire una password per l'utente amministratore di ClickHouse come mostrato di seguito:

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 volta completata l'installazione, è possibile procedere al passaggio successivo.

Gestisci il servizio ClickHouse

Ora puoi avviare il servizio ClickHouse e abilitarlo per l'avvio al riavvio del sistema con il seguente comando:

systemctl start clickhouse-server 
systemctl enable clickhouse-server

Ora puoi verificare lo stato di ClickHouse con il seguente comando:

systemctl status clickhouse-server

Otterrai il seguente output:

? 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'.

Come usare ClickHouse

In questa sezione, ti mostreremo come connettersi a ClickHouse, creare un database e una tabella.

Innanzitutto, connettiti a ClickHouse utilizzando il seguente comando:

clickhouse-client --password

Ti verrà chiesto di fornire la password predefinita come mostrato di seguito:

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 :) 

Ora, crea un database chiamato testdb usando il seguente comando:

debian11 :) CREATE DATABASE testdb;

Otterrai il seguente output:

CREATE DATABASE testdb

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

Ok.

0 rows in set. Elapsed: 0.005 sec. 

Successivamente, modifica il database in testdb utilizzando il seguente comando:

debian11 :) USE testdb;

Otterrai il seguente output:

USE testdb

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

Ok.

0 rows in set. Elapsed: 0.001 sec. 

Successivamente, crea una tabella denominata table1 utilizzando il seguente comando:

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

Otterrai il seguente output:

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. 

Quindi, inserisci un valore nella tabella usando il seguente comando:

debian11 :) INSERT INTO table1 VALUES (1, 'jay', 'https://linux-console.net', '2021-12-31 00:01:01');

Otterrai il seguente output:

INSERT INTO table1 FORMAT Values

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

Ok.

1 rows in set. Elapsed: 0.005 sec. 

Quindi, aggiungi una nuova colonna usando il seguente comando:

debian11 :) ALTER TABLE table1 ADD COLUMN location String;

Otterrai il seguente output:

ALTER TABLE table1
    ADD COLUMN `location` String

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

Ok.

0 rows in set. Elapsed: 0.007 sec. 

Se vuoi recuperare i dati dalla tabella, esegui il seguente comando:

debian11 :) SELECT url, name FROM table1 WHERE url = 'https://linux-console.net' LIMIT 1;

Otterrai il seguente output:

SELECT
    url,
    name
FROM table1
WHERE url = 'https://linux-console.net'
LIMIT 1

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

??url?????????????????????name??
? https://linux-console.net ? jay  ?
????????????????????????????????

1 rows in set. Elapsed: 0.007 sec. 

Per rimuovere una colonna, eseguire il seguente comando:

debian11 :) ALTER TABLE table1 DROP COLUMN location;

Per rimuovere una tabella, eseguire il seguente comando:

debian11 :) DROP TABLE table1;

Per rimuovere un database, eseguire il seguente comando:

debian11 :) DROP DATABASE testdb;

Per uscire dalla shell ClickHouse, esegui il seguente comando:

debian11 :) exit;

Abilita l'interfaccia utente Web di ClickHouse

ClickHouse fornisce anche un'interfaccia basata sul web per gestire il database. Ma è disabilitato per impostazione predefinita. Puoi abilitarlo modificando il file di configurazione di ClickHouse:

nano /etc/clickhouse-server/config.xml

Rimuovere il commento e modificare le seguenti righe:

 <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>

Salva e chiudi il file, quindi riavvia il servizio ClickHouse per applicare le modifiche alla configurazione:

systemctl restart clickhouse-server

Accedi all'interfaccia utente Web di ClickHouse

Per impostazione predefinita, l'interfaccia utente web di ClickHouse è in ascolto sulla porta 8123. Puoi controllarla utilizzando il seguente comando:

ss -antpl | grep 8123

Dovresti vedere il seguente output:

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

Ora, apri il tuo browser web e accedi all'interfaccia utente Web di ClickHouse utilizzando l'URL http://your-server-ip:8123. Dovresti vedere la seguente schermata:

Fornisci il nome utente e la password predefiniti e fai clic sul pulsante Accedi. Una volta effettuato l'accesso, dovresti vedere la seguente schermata:

Conclusione

Nella guida sopra, abbiamo spiegato come installare il sistema di database ClickHouse su Debian 11. Abbiamo anche spiegato come creare e gestire database e abilitare l'interfaccia web ClickHouse. Spero che questo ti aiuti a installare ClickHouse nell'ambiente di produzione. Non esitate a chiedermi se avete domande.