Uygulama

Ubuntu 22.04’te ClickHouse Nasıl Kurulur

ClickHouse, çevrimiçi analitik işleme (OLAP) için kullanılan açık kaynaklı, hızlı ve modern bir veritabanı yönetim sistemidir.  Sütun odaklıdır ve kayıtları satırlar yerine sütunlara göre gruplandırılmış bloklarda depolar.  SQL sorgularını kullanarak gerçek zamanlı olarak analitik raporlar oluşturmanıza olanak tanır.  Ayrıca sütun tabanlı veritabanları, geleneksel satır tabanlı sistemlere kıyasla sorguları tamamlarken verileri okumak için daha az zaman harcar.  Az miktarda RAM’e sahip bir sistemde 2 GB RAM ile bile kullanılabilir, ancak ek ayar gerektirir .

Bu yazıda, ClickHouse’u Ubuntu 22.04’e nasıl kuracağınızı göstereceğiz.

Önkoşullar

  • Ubuntu 22.04 çalıştıran bir sunucu.
  • Sunucunuzda bir root parolası yapılandırılmıştır.

Gerekli Bağımlılıkları Kurun

Başlamadan önce, tüm sistem paketlerini güncellemeniz ve güncellenmiş sürüme yükseltmeniz önerilir.  Aşağıdaki komutu çalıştırarak bunları güncelleyebilirsiniz:

apt update -y
apt upgrade -y

Tüm paketleri yükselttikten sonra, gerekli diğer paketleri yüklemek için aşağıdaki komutu çalıştırın:

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

Gerekli tüm paketler yüklendikten sonra bir sonraki adıma geçebilirsiniz.

ClickHouse’u yükleme

Varsayılan olarak, ClickHouse paketi Ubuntu 22.04 varsayılan deposuna dahil değildir.  Bu nedenle, ClickHouse deposunu sisteminize eklemeniz gerekecek.

İlk olarak, aşağıdaki komutu kullanarak GPG anahtarını indirin ve ekleyin:

gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754
gpg --export --armor 8919F6BD2B48D754 | gpg --dearmour -o /etc/apt/trusted.gpg.d/clickhouse-key.gpg

Ardından, aşağıdaki komutu kullanarak ClickHouse deposunu APT’ye ekleyin:

echo "deb [arch=amd64] https://packages.clickhouse.com/deb stable main" | tee /etc/apt/sources.list.d/clickhouse.list

Ardından, depoyu güncelleyin ve aşağıdaki komutu kullanarak ClickHouse sunucu ve istemci paketlerini kurun:

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

Yükleme sırasında, aşağıda gösterildiği gibi ClickHouse yönetici kullanıcısı için bir parola girmeniz istenecektir:

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 → /lib/systemd/system/clickhouse-server.service.

Kurulum tamamlandıktan sonra bir sonraki adıma geçebilirsiniz.

ClickHouse Hizmetini Başlatın

Artık ClickHouse hizmetini başlatabilir ve aşağıdaki komutla sistem yeniden başlatıldığında başlamasını sağlayabilirsiniz:

systemctl start clickhouse-server 
systemctl enable clickhouse-server

Artık ClickHouse’un durumunu aşağıdaki komutla doğrulayabilirsiniz:

systemctl status clickhouse-server

Aşağıdaki çıktıyı alacaksınız:

? clickhouse-server.service - ClickHouse Server (analytic DBMS for big data)
     Loaded: loaded (/lib/systemd/system/clickhouse-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-12-05 14:47:40 UTC; 6s ago
   Main PID: 13369 (clckhouse-watch)
      Tasks: 205 (limit: 4579)
     Memory: 65.5M
        CPU: 1.128s
     CGroup: /system.slice/clickhouse-server.service
             ??13369 clickhouse-watchdog "" "" "" "" "" "" "" --config=/etc/clickhouse-server/config.xml --pid-file=/run/clickhouse-server/cl>
             ??13370 /usr/bin/clickhouse-server --config=/etc/clickhouse-server/config.xml --pid-file=/run/clickhouse-server/clickhouse-serve>

Dec 05 14:47:40 ubuntu2204 systemd[1]: Started ClickHouse Server (analytic DBMS for big data).
Dec 05 14:47:40 ubuntu2204 clickhouse-server[13369]: Processing configuration file '/etc/clickhouse-server/config.xml'.
Dec 05 14:47:40 ubuntu2204 clickhouse-server[13369]: Logging trace to /var/log/clickhouse-server/clickhouse-server.log
Dec 05 14:47:40 ubuntu2204 clickhouse-server[13369]: Logging errors to /var/log/clickhouse-server/clickhouse-server.err.log
Dec 05 14:47:41 ubuntu2204 clickhouse-server[13370]: Processing configuration file '/etc/clickhouse-server/config.xml'.
Dec 05 14:47:41 ubuntu2204 clickhouse-server[13370]: Saved preprocessed configuration to '/var/lib/clickhouse/preprocessed_configs/config.xml>
Dec 05 14:47:41 ubuntu2204 clickhouse-server[13370]: Processing configuration file '/etc/clickhouse-server/users.xml'.
Dec 05 14:47:41 ubuntu2204 clickhouse-server[13370]: Merging configuration file '/etc/clickhouse-server/users.d/default-password.xml'.
Dec 05 14:47:41 ubuntu2204 clickhouse-server[13370]: Saved preprocessed configuration to '/var/lib/clickhouse/preprocessed_configs/users.xml'.

ClickHouse’u Kullanma

Bu bölümde size ClickHouse’a nasıl bağlanacağınızı ve bir veritabanı ve tablo oluşturacağınızı göstereceğiz.

İlk olarak, aşağıdaki komutu kullanarak ClickHouse’a bağlanın:

clickhouse-client --password

Aşağıda gösterildiği gibi varsayılan şifreyi girmeniz istenecektir:

ClickHouse client version 22.11.2.30 (official build).
Password for user (default): 
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 22.11.2 revision 54460.

Warnings:
 * Maximum number of threads is lower than 30000. There could be problems with handling a lot of simultaneous queries.

ubuntu2204 :) 

Şimdi, aşağıdaki komutu kullanarak wpdb adlı bir veritabanı oluşturun:

ubuntu2204 :) CREATE DATABASE wpdb;

Aşağıdaki çıktıyı alacaksınız:

CREATE DATABASE wpdb

Query id: 9f65d3fc-239a-44e6-90a7-64e28472c40c

Ok.

0 rows in set. Elapsed: 0.005 sec. 

Ardından, aşağıdaki komutu kullanarak veritabanını wpdb olarak değiştirin:

ubuntu2204 :) USE wpdb;

Aşağıdaki çıktıyı alacaksınız:

USE wpdb

Query id: b0ccf487-4906-477a-bc6b-4b5306067eee

Ok.

0 rows in set. Elapsed: 0.002 sec. 

Ardından, aşağıdaki komutu kullanarak öğrenci adlı bir tablo oluşturun:

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

You will get the following output:

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

Query id: 552a34ae-ff63-4682-89e2-a88be04fe5c2

Ok.

0 rows in set. Elapsed: 0.008 sec. 

Ardından, aşağıdaki komutu kullanarak tabloya bir miktar değer girin:

ubuntu2204 :) INSERT INTO student VALUES (1, 'hit', 'http://howtoforge.com', '2021-12-31 00:01:01');

Aşağıdaki çıktıyı alacaksınız:

INSERT INTO student FORMAT Values

Query id: b54035a3-0355-463c-bc59-c8369b1d8010

Ok.

1 row in set. Elapsed: 0.006 sec. 

Ardından, aşağıdaki komutu kullanarak yeni bir sütun ekleyin:

ubuntu2204 :) ALTER TABLE student ADD COLUMN location String;

Aşağıdaki çıktıyı alacaksınız:

ALTER TABLE student
    ADD COLUMN `location` String

Query id: d15b0cff-677f-4650-81cb-d099b1259d5b

Ok.

0 rows in set. Elapsed: 0.008 sec. 

Tablodan veri almak istiyorsanız, aşağıdaki komutu çalıştırın:

ubuntu2204 :) SELECT url, name FROM student WHERE url = 'http://howtoforge.com' LIMIT 1;

Aşağıdaki çıktıyı alacaksınız:

SELECT
    url,
    name
FROM student
WHERE url = 'http://howtoforge.com'
LIMIT 1

Query id: 71d588aa-2402-4b97-8d8f-bffd37f8cc0a

??url?????????????????????name??
? http://howtoforge.com ? hit  ?
????????????????????????????????

1 row in set. Elapsed: 0.005 sec. 

Bir sütunu kaldırmak için aşağıdaki komutu çalıştırın:

ubuntu2204 :) ALTER TABLE student DROP COLUMN location;

Bir tabloyu kaldırmak için aşağıdaki komutu çalıştırın:

ubuntu2204 :) DROP TABLE student;

Bir veritabanını kaldırmak için aşağıdaki komutu çalıştırın:

ubuntu2204 :) DROP DATABASE wpdb;

ClickHouse kabuğundan çıkmak için aşağıdaki komutu çalıştırın:

ubuntu2204 :) exit;

ClickHouse Web Arayüzünü Etkinleştirin

ClickHouse, veritabanlarını yönetmek için web tabanlı bir arayüz sağlar.  Ancak, varsayılan olarak devre dışıdır.  ClickHouse yapılandırma dosyasını düzenleyerek etkinleştirebilirsiniz:

nano /etc/clickhouse-server/config.xml

Aşağıdaki satırları kaldırın ve değiştirin:

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

Dosyayı kaydedip kapatın, ardından yapılandırma değişikliklerini uygulamak için ClickHouse hizmetini yeniden başlatın:

systemctl restart clickhouse-server

ClickHouse Web Arayüzüne Erişim

Bu noktada, ClickHouse web kullanıcı arabirimi yapılandırılır ve 8123 numaralı bağlantı noktasını dinler. Aşağıdaki komutu kullanarak kontrol edebilirsiniz:

ss -antpl | grep 8123

Aşağıdaki çıktıyı görmelisiniz:

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

Şimdi, web tarayıcınızı açın ve http://your-server-ip:8123 URL’sini kullanarak ClickHouse Web Kullanıcı Arayüzüne erişin.  Aşağıdaki ekranı görmelisiniz:

Varsayılan kullanıcı adınızı, şifrenizi girin ve Oturum Aç düğmesine tıklayın.  Giriş yaptıktan sonra, aşağıdaki ekranı görmelisiniz:

 

Yazının orijinalini buradan okuyabilirsiniz.