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.
Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.