ClickHouse adalah sistem manajemen basis data gratis, sumber terbuka, dan berorientasi kolom. Ini digunakan untuk pemrosesan analitik online dan memungkinkan Anda membuat laporan analitik menggunakan kueri SQL secara real-time. Ini menyimpan catatan dalam blok yang dikelompokkan berdasarkan kolom, bukan baris. Dengan demikian, ia menghabiskan lebih sedikit waktu membaca data sambil menyelesaikan kueri. Selain itu, database berorientasi kolom dapat menghitung dan mengembalikan hasil jauh lebih cepat daripada sistem berbasis baris tradisional untuk beban kerja tertentu.
Dalam posting ini, kami akan menunjukkan cara menginstal database ClickHoust di Debian 11.
Prasyarat
- Server yang menjalankan Debian 11.
- Kata sandi root dikonfigurasi di server Anda.
Memulai
Sebelum memulai, Anda perlu memperbarui paket sistem Anda ke versi yang diperbarui. Anda dapat memperbaruinya dengan menjalankan perintah berikut:
apt-get update -y
Setelah semua paket diperbarui, instal paket lain yang diperlukan menggunakan perintah berikut:
apt-get install curl gnupg2 wget git apt-transport-https ca-certificates -y
Setelah semua paket yang diperlukan terinstal, Anda dapat melanjutkan ke langkah berikutnya.
Instal ClickHouse di Debian 11
Secara default, paket ClickHouse tidak disertakan dalam repositori default Debian 11. Jadi, Anda perlu menambahkan repositori ClickHouse ke sistem Anda.
Pertama, unduh dan tambahkan kunci GPG menggunakan perintah berikut:
apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4
Anda akan mendapatkan output berikut:
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
Selanjutnya, tambahkan repositori ClickHouse ke APT menggunakan perintah berikut:
echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" | tee /etc/apt/sources.list.d/clickhouse.list
Selanjutnya, perbarui repositori dan instal ClickHouse dengan perintah berikut:
apt-get update -y
apt-get install clickhouse-server clickhouse-client -y
Selama instalasi, Anda akan diminta untuk memberikan kata sandi untuk pengguna admin ClickHouse seperti yang ditunjukkan di bawah ini:
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) ...
Setelah penginstalan selesai, Anda dapat melanjutkan ke langkah berikutnya.
Kelola Layanan ClickHouse
Anda sekarang dapat memulai layanan ClickHouse dan mengaktifkannya untuk memulai pada sistem reboot dengan perintah berikut:
systemctl start clickhouse-server
systemctl enable clickhouse-server
Anda sekarang dapat memverifikasi status ClickHouse dengan perintah berikut:
systemctl status clickhouse-server
Anda akan mendapatkan output berikut:
? 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'.
Cara Menggunakan ClickHouse
Di bagian ini, kami akan menunjukkan cara menghubungkan ke ClickHouse, membuat database dan tabel.
Pertama, sambungkan ke ClickHouse menggunakan perintah berikut:
clickhouse-client --password
Anda akan diminta untuk memberikan kata sandi default seperti yang ditunjukkan di bawah ini:
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 :)
Sekarang, buat database bernama testdb menggunakan perintah berikut:
debian11 :) CREATE DATABASE testdb;
Anda akan mendapatkan output berikut:
CREATE DATABASE testdb Query id: a48b3031-a363-4357-b4f9-ffd3edd73b0e Ok. 0 rows in set. Elapsed: 0.005 sec.
Selanjutnya, ubah database menjadi testdb menggunakan perintah berikut:
debian11 :) USE testdb;
Anda akan mendapatkan output berikut:
USE testdb Query id: 827e0d94-c3eb-46ec-ba04-97386a58e531 Ok. 0 rows in set. Elapsed: 0.001 sec.
Selanjutnya, buat tabel bernama table1 menggunakan perintah berikut:
debian11 :) CREATE TABLE table1 (? id UInt64,? name String,? url String,? created DateTime?) ENGINE = MergeTree()?PRIMARY KEY id?ORDER BY id;
Anda akan mendapatkan output berikut:
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.
Selanjutnya, masukkan beberapa nilai ke dalam tabel menggunakan perintah berikut:
debian11 :) INSERT INTO table1 VALUES (1, 'jay', 'https://www.howtoforge.com', '2021-12-31 00:01:01');
Anda akan mendapatkan output berikut:
INSERT INTO table1 FORMAT Values Query id: be1c57cd-5759-47cd-8649-ce82cd0c1f7d Ok. 1 rows in set. Elapsed: 0.005 sec.
Selanjutnya, tambahkan kolom baru menggunakan perintah berikut:
debian11 :) ALTER TABLE table1 ADD COLUMN location String;
Anda akan mendapatkan output berikut:
ALTER TABLE table1 ADD COLUMN `location` String Query id: 106fa166-afda-4598-a32c-b50da237bfe5 Ok. 0 rows in set. Elapsed: 0.007 sec.
Jika Anda ingin mengambil data dari tabel, jalankan perintah berikut:
debian11 :) SELECT url, name FROM table1 WHERE url = 'https://www.howtoforge.com' LIMIT 1;
Anda akan mendapatkan output berikut:
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.
Untuk menghapus kolom, jalankan perintah berikut:
debian11 :) ALTER TABLE table1 DROP COLUMN location;
Untuk menghapus tabel, jalankan perintah berikut:
debian11 :) DROP TABLE table1;
Untuk menghapus database, jalankan perintah berikut:
debian11 :) DROP DATABASE testdb;
Untuk keluar dari shell ClickHouse, jalankan perintah berikut:
debian11 :) exit;
Aktifkan UI Web ClickHouse
ClickHouse juga menyediakan antarmuka berbasis web untuk mengelola database. Tapi, itu dinonaktifkan secara default. Anda dapat mengaktifkannya dengan mengedit file konfigurasi ClickHouse:
nano /etc/clickhouse-server/config.xml
Batalkan komentar dan ubah baris berikut:
<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>
Simpan dan tutup file kemudian restart layanan ClickHouse untuk menerapkan perubahan konfigurasi:
systemctl restart clickhouse-server
Mengakses UI Web ClickHouse
Secara default, UI web ClickHouse mendengarkan pada port 8123 . Anda dapat memeriksanya menggunakan perintah berikut:
ss -antpl | grep 8123
Anda akan melihat output berikut:
LISTEN 0 4096 0.0.0.0:8123 0.0.0.0:* users:(("clickhouse-serv",pid=18580,fd=158))
Sekarang, buka browser web Anda dan akses UI Web ClickHouse menggunakan URL http://your-server-ip:8123 . Anda akan melihat layar berikut:
Berikan nama pengguna, sandi default, dan klik Masuk tombol. Setelah Anda masuk, Anda akan melihat layar berikut:
Kesimpulan
Dalam panduan di atas, kami menjelaskan cara menginstal sistem database ClickHouse di Debian 11. Kami juga menjelaskan cara membuat dan mengelola database dan mengaktifkan antarmuka web ClickHouse. Saya harap ini akan membantu Anda menginstal ClickHouse di lingkungan produksi. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.