ClickHouse je bezplatný, open-source a sloupcově orientovaný systém správy databází. Používá se pro online analytické zpracování a umožňuje generovat analytické sestavy pomocí SQL dotazů v reálném čase. Záznamy ukládá do bloků seskupených podle sloupců namísto řádků. Proto tráví méně času čtením dat při dokončování dotazů. Databáze orientované na sloupce také dokážou vypočítat a vrátit výsledky mnohem rychleji než tradiční řádkové systémy pro určité úlohy.
V tomto příspěvku vám ukážeme, jak nainstalovat databázi ClickHoust na Debian 11.
Předpoklady
- Server se systémem Debian 11.
- Na vašem serveru je nakonfigurováno heslo uživatele root.
Začínáme
Než začnete, budete muset aktualizovat systémové balíčky na aktualizovanou verzi. Můžete je aktualizovat spuštěním následujícího příkazu:
apt-get update -y
Jakmile jsou všechny balíčky aktualizovány, nainstalujte další požadované balíčky pomocí následujícího příkazu:
apt-get install curl gnupg2 wget git apt-transport-https ca-certificates -y
Jakmile jsou všechny požadované balíčky nainstalovány, můžete přejít k dalšímu kroku.
Instalovat ClickHouse na Debian 11
Ve výchozím nastavení není balíček ClickHouse součástí výchozího úložiště Debian 11. Budete tedy muset do svého systému přidat úložiště ClickHouse.
Nejprve si stáhněte a přidejte klíč GPG pomocí následujícího příkazu:
apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4
Získáte následující výstup:
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
Dále přidejte úložiště ClickHouse do APT pomocí následujícího příkazu:
echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" | tee /etc/apt/sources.list.d/clickhouse.list
Dále aktualizujte úložiště a nainstalujte ClickHouse pomocí následujícího příkazu:
apt-get update -y
apt-get install clickhouse-server clickhouse-client -y
Během instalace budete požádáni o zadání hesla pro administrátora ClickHouse, jak je uvedeno níže:
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) ...
Po dokončení instalace můžete přejít k dalšímu kroku.
Správa služby ClickHouse
Nyní můžete spustit službu ClickHouse a povolit její spuštění při restartu systému pomocí následujícího příkazu:
systemctl start clickhouse-server
systemctl enable clickhouse-server
Nyní můžete ověřit stav ClickHouse pomocí následujícího příkazu:
systemctl status clickhouse-server
Získáte následující výstup:
? 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'.
Jak používat ClickHouse
V této sekci vám ukážeme, jak se připojit ke ClickHouse, vytvořit databázi a tabulku.
Nejprve se připojte ke ClickHouse pomocí následujícího příkazu:
clickhouse-client --password
Budete požádáni o zadání výchozího hesla, jak je uvedeno níže:
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 :)
Nyní vytvořte databázi s názvem testdb pomocí následujícího příkazu:
debian11 :) CREATE DATABASE testdb;
Získáte následující výstup:
CREATE DATABASE testdb Query id: a48b3031-a363-4357-b4f9-ffd3edd73b0e Ok. 0 rows in set. Elapsed: 0.005 sec.
Dále změňte databázi na testdb pomocí následujícího příkazu:
debian11 :) USE testdb;
Získáte následující výstup:
USE testdb Query id: 827e0d94-c3eb-46ec-ba04-97386a58e531 Ok. 0 rows in set. Elapsed: 0.001 sec.
Dále vytvořte tabulku s názvem tabulka1 pomocí následujícího příkazu:
debian11 :) CREATE TABLE table1 (? id UInt64,? name String,? url String,? created DateTime?) ENGINE = MergeTree()?PRIMARY KEY id?ORDER BY id;
Získáte následující výstup:
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.
Dále vložte nějakou hodnotu do tabulky pomocí následujícího příkazu:
debian11 :) INSERT INTO table1 VALUES (1, 'jay', 'https://www.howtoforge.com', '2021-12-31 00:01:01');
Získáte následující výstup:
INSERT INTO table1 FORMAT Values Query id: be1c57cd-5759-47cd-8649-ce82cd0c1f7d Ok. 1 rows in set. Elapsed: 0.005 sec.
Dále přidejte nový sloupec pomocí následujícího příkazu:
debian11 :) ALTER TABLE table1 ADD COLUMN location String;
Získáte následující výstup:
ALTER TABLE table1 ADD COLUMN `location` String Query id: 106fa166-afda-4598-a32c-b50da237bfe5 Ok. 0 rows in set. Elapsed: 0.007 sec.
Pokud chcete načíst data z tabulky, spusťte následující příkaz:
debian11 :) SELECT url, name FROM table1 WHERE url = 'https://www.howtoforge.com' LIMIT 1;
Získáte následující výstup:
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.
Chcete-li sloupec odebrat, spusťte následující příkaz:
debian11 :) ALTER TABLE table1 DROP COLUMN location;
Chcete-li tabulku odebrat, spusťte následující příkaz:
debian11 :) DROP TABLE table1;
Chcete-li databázi odebrat, spusťte následující příkaz:
debian11 :) DROP DATABASE testdb;
Chcete-li ukončit prostředí ClickHouse, spusťte následující příkaz:
debian11 :) exit;
Povolit webové uživatelské rozhraní ClickHouse
ClickHouse také poskytuje webové rozhraní pro správu databáze. Ve výchozím nastavení je však zakázána. Můžete to povolit úpravou konfiguračního souboru ClickHouse:
nano /etc/clickhouse-server/config.xml
Odkomentujte a změňte následující řádky:
<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>
Uložte a zavřete soubor a poté restartujte službu ClickHouse, abyste použili změny konfigurace:
systemctl restart clickhouse-server
Přístup k webovému uživatelskému rozhraní ClickHouse
Webové uživatelské rozhraní ClickHouse ve výchozím nastavení naslouchá na portu 8123 . Můžete to zkontrolovat pomocí následujícího příkazu:
ss -antpl | grep 8123
Měli byste vidět následující výstup:
LISTEN 0 4096 0.0.0.0:8123 0.0.0.0:* users:(("clickhouse-serv",pid=18580,fd=158))
Nyní otevřete webový prohlížeč a přejděte do webového uživatelského rozhraní ClickHouse pomocí adresy URL http://ip-ip-vašeho-serveru:8123 . Měli byste vidět následující obrazovku:
Zadejte své výchozí uživatelské jméno, heslo a klikněte na Přihlásit se knoflík. Po přihlášení byste měli vidět následující obrazovku:
Závěr
Ve výše uvedené příručce jsme vysvětlili, jak nainstalovat databázový systém ClickHouse na Debian 11. Vysvětlili jsme také, jak vytvořit a spravovat databáze a aktivovat webové rozhraní ClickHouse. Doufám, že vám to pomůže nainstalovat ClickHouse v produkčním prostředí. Pokud máte nějaké dotazy, neváhejte se mě zeptat.