ClickHouse là một hệ thống quản lý cơ sở dữ liệu miễn phí, mã nguồn mở và theo cột. Nó được sử dụng để xử lý phân tích trực tuyến và cho phép bạn tạo báo cáo phân tích bằng các truy vấn SQL theo thời gian thực. Nó lưu trữ các bản ghi trong các khối được nhóm theo cột thay vì theo hàng. Do đó, nó dành ít thời gian hơn để đọc dữ liệu trong khi hoàn thành các truy vấn. Ngoài ra, cơ sở dữ liệu theo cột có thể tính toán và trả về kết quả nhanh hơn nhiều so với các hệ thống theo hàng truyền thống cho một số khối lượng công việc nhất định.
Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách cài đặt cơ sở dữ liệu ClickHoust trên Debian 11.
Sau khi tất cả các gói được cập nhật, hãy cài đặt các gói cần thiết khác bằng lệnh sau:
Sau khi tất cả các gói cần thiết được cài đặt, bạn có thể tiến hành bước tiếp theo.
Đầu tiên, hãy tải xuống và thêm khóa GPG bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Tiếp theo, thêm kho lưu trữ ClickHouse vào APT bằng lệnh sau:
Tiếp theo, cập nhật kho lưu trữ và cài đặt ClickHouse bằng lệnh sau:
Trong quá trình cài đặt, bạn sẽ được yêu cầu cung cấp mật khẩu cho người dùng quản trị ClickHouse như hiển thị bên dưới:
Sau khi quá trình cài đặt hoàn tất, bạn có thể tiến hành bước tiếp theo.
Bây giờ bạn có thể xác minh trạng thái của ClickHouse bằng lệnh sau:
Bạn sẽ nhận được kết quả đầu ra sau:
Trước tiên, hãy kết nối với ClickHouse bằng lệnh sau:
Bạn sẽ được yêu cầu cung cấp mật khẩu mặc định như hiển thị bên dưới:
Bây giờ, hãy tạo một cơ sở dữ liệu có tên là testdb bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Tiếp theo, hãy thay đổi cơ sở dữ liệu thành testdb bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Tiếp theo, tạo một bảng có tên table1 bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Tiếp theo, chèn một số giá trị vào bảng bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Tiếp theo, thêm một cột mới bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Nếu bạn muốn lấy dữ liệu từ bảng, hãy chạy lệnh sau:
Bạn sẽ nhận được kết quả sau:
Để xóa một cột, hãy chạy lệnh sau:
Để xóa một bảng, hãy chạy lệnh sau:
Để xóa một cơ sở dữ liệu, hãy chạy lệnh sau:
Để thoát khỏi ClickHouse shell, hãy chạy lệnh sau:
Bỏ chú thích và thay đổi các dòng sau:
Lưu và đóng tệp, sau đó khởi động lại dịch vụ ClickHouse để áp dụng các thay đổi cấu hình:
Bạn sẽ thấy đầu ra sau:
Bây giờ, hãy mở trình duyệt web của bạn và truy cập ClickHouse Web UI bằng URL
. Bạn sẽ thấy màn hình sau:
Cung cấp tên người dùng, mật khẩu mặc định của bạn và nhấp vào nút Đăng nhập. Sau khi đăng nhập, bạn sẽ thấy màn hình sau:
Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách cài đặt cơ sở dữ liệu ClickHoust trên Debian 11.
Điều kiện tiên quyết
- Một máy chủ đang chạy Debian 11.
- Mật khẩu gốc được cấu hình trên máy chủ của bạn.
Bắt đầu
Trước khi bắt đầu, bạn sẽ cần cập nhật các gói hệ thống của mình lên phiên bản đã cập nhật. Bạn có thể cập nhật chúng bằng cách chạy lệnh sau:
Mã:
apt-get update -y
Mã:
apt-get install curl gnupg2 wget git apt-transport-https ca-certificates -y
Cài đặt ClickHouse trên Debian 11
Theo mặc định, gói ClickHouse không được bao gồm trong Debian 11 kho lưu trữ mặc định. Vì vậy, bạn sẽ cần thêm kho lưu trữ ClickHouse vào hệ thống của mình.Đầu tiên, hãy tải xuống và thêm khóa GPG bằng lệnh sau:
Mã:
apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4
Mã:
Thực thi: /tmp/apt-key-gpghome.WyTt1Mpvh7/gpg.1.sh --keyserver keyserver.ubuntu.com --recv E0C56BD4gpg: key C8F1E19FE0C56BD4: public key "ClickHouse Repository Key " đã nhậpgpg: Tổng số đã xử lý: 1gpg: đã nhập: 1
Mã:
echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" | tee /etc/apt/sources.list.d/clickhouse.list
Mã:
apt-get update -y
apt-get install clickhouse-server clickhouse-client -y
Mã:
Nhập mật khẩu cho người dùng mặc định:Mật khẩu cho người dùng mặc định được lưu trong tệp /etc/clickhouse-server/users.d/default-password.xml.Thiết lập khả năng cho tệp nhị phân clickhouse. Đây là tùy chọn. chown -R clickhouse:clickhouse '/etc/clickhouse-server'ClickHouse đã được cài đặt thành công.Khởi động clickhouse-server bằng: sudo clickhouse startKhởi động clickhouse-client bằng: clickhouse-client --passwordĐồng bộ hóa trạng thái của clickhouse-server.service với tập lệnh dịch vụ SysV với /lib/systemd/systemd-sysv-install.Đang thực thi: /lib/systemd/systemd-sysv-install enable clickhouse-serverĐã tạo liên kết tượng trưng /etc/systemd/system/multi-user.target.wants/clickhouse-server.service → /etc/systemd/system/clickhouse-server.service.Thiết lập clickhouse-client (21.12.3.32) ...
Quản lý Dịch vụ ClickHouse
Bây giờ bạn có thể khởi động dịch vụ ClickHouse và cho phép nó khởi động khi khởi động lại hệ thống bằng lệnh sau:
Mã:
systemctl start clickhouse-server
systemctl enable clickhouse-server
Mã:
systemctl status clickhouse-server
Mã:
? clickhouse-server.service - ClickHouse Server (DBMS phân tích cho dữ liệu lớn) Đã tải: đã tải (/etc/systemd/system/clickhouse-server.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ sáu 2021-12-31 11:22:57 UTC; 9 giây trước PID chính: 18152 (clckhouse-watch) Nhiệm vụ: 206 (giới hạn: 2341) Bộ nhớ: 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>31 tháng 12 11:22:57 debian11 systemd[1]: Đã khởi động ClickHouse Server (DBMS phân tích cho dữ liệu lớn).31 tháng 12 11:22:57 debian11 clickhouse-server[18152]: Đang xử lý tệp cấu hình '/etc/clickhouse-server/config.xml'.31/12 11:22:57 debian11 clickhouse-server[18152]: Ghi nhật ký theo dõi đến /var/log/clickhouse-server/clickhouse-server.log31/12 11:22:57 debian11 clickhouse-server[18152]: Ghi nhật ký lỗi đến /var/log/clickhouse-server/clickhouse-server.err.log31/12 11:22:58 debian11 clickhouse-server[18153]: Xử lý tệp cấu hình '/etc/clickhouse-server/config.xml'.31/12 11:22:58 debian11 clickhouse-server[18153]: Đã lưu cấu hình đã xử lý trước vào '/var/lib/clickhouse/preprocessed_configs/config.xml'.31 tháng 12 11:22:58 debian11 clickhouse-server[18153]: Đang xử lý tệp cấu hình '/etc/clickhouse-server/users.xml'.31 tháng 12 11:22:58 debian11 clickhouse-server[18153]: Đang hợp nhất tệp cấu hình '/etc/clickhouse-server/users.d/default-password.xml'.31 tháng 12 11:22:58 debian11 clickhouse-server[18153]: Đã lưu cấu hình được xử lý trước vào '/var/lib/clickhouse/preprocessed_configs/users.xml'.
Cách sử dụng ClickHouse
Trong phần này, chúng tôi sẽ chỉ cho bạn cách kết nối với ClickHouse, tạo cơ sở dữ liệu và bảng.Trước tiên, hãy kết nối với ClickHouse bằng lệnh sau:
Mã:
clickhouse-client --password
Mã:
Phiên bản máy khách ClickHouse 21.12.3.32 (bản dựng chính thức).Mật khẩu cho người dùng (mặc định):Cung cấp mật khẩu mà bạn đã đặt trong quá trình cài đặt và nhấn phím Enter. Bạn sẽ nhận được shell sau:Đang kết nối với localhost:9000 làm mặc định của người dùng.Đã kết nối với máy chủ ClickHouse phiên bản 21.12.3 bản sửa đổi 54452.debian11 :)
Mã:
debian11 :) CREATE DATABASE testdb;
Mã:
CREATE DATABASE testdbID truy vấn: a48b3031-a363-4357-b4f9-ffd3edd73b0eOk.0 hàng trong tập hợp. Đã trôi qua: 0,005 giây.
Mã:
debian11 :) USE testdb;
Mã:
USE testdbID truy vấn: 827e0d94-c3eb-46ec-ba04-97386a58e531Ok.0 hàng trong tập hợp. Đã trôi qua: 0,001 giây.
Mã:
debian11 :) CREATE TABLE table1 (? id UInt64,? name String,? url String,? created DateTime?) ENGINE = MergeTree()?PRIMARY KEY id?ORDER BY id;
Mã:
CREATE TABLE table1( `id` UInt64, `name` String, `url` String, `created` DateTime)ENGINE = MergeTreePRIMARY KEY idORDER BY idQuery id: 922f4fe1-283f-4e5d-9966-498344b2aa4dOk.0 hàng trong tập hợp. Đã trôi qua: 0,006 giây.
Mã:
debian11 :) INSERT INTO table1 VALUES (1, 'jay', 'https://www.howtoforge.com', '2021-12-31 00:01:01');
Mã:
INSERT INTO table1 FORMAT ValuesQuery id: be1c57cd-5759-47cd-8649-ce82cd0c1f7dOk.1 hàng trong tập hợp. Đã trôi qua: 0,005 giây.
Mã:
debian11 :) ALTER TABLE table1 ADD COLUMN location String;
Mã:
ALTER TABLE table1 ADD COLUMN `location` StringID truy vấn: 106fa166-afda-4598-a32c-b50da237bfe5Ok.0 hàng trong tập hợp. Đã trôi qua: 0,007 giây.
Mã:
debian11 :) SELECT url, name FROM table1 WHERE url = 'https://www.howtoforge.com' LIMIT 1;
Mã:
SELECT url, nameFROM table1WHERE url = 'https://www.howtoforge.com'LIMIT 1Query id: 8ee433ec-0eb1-4409-b9a8-7e5794b872ce??url????????????????????name??? https://www.howtoforge.com ? jay ?????????????????????????????????1 hàng trong tập hợp. Đã trôi qua: 0,007 giây.
Mã:
debian11 :) ALTER TABLE table1 DROP COLUMN location;
Mã:
debian11 :) DROP TABLE table1;
Mã:
debian11 :) DROP DATABASE testdb;
Mã:
debian11 :) exit;
Bật ClickHouse Web UI
ClickHouse cũng cung cấp một giao diện dựa trên web để quản lý cơ sở dữ liệu. Tuy nhiên, giao diện này bị tắt theo mặc định. Bạn có thể bật giao diện này bằng cách chỉnh sửa tệp cấu hình ClickHouse:
Mã:
nano /etc/clickhouse-server/config.xml
Mã:
0.0.0 ]]>
Mã:
systemctl restart clickhouse-server
Truy cập ClickHouse Web UI
Theo mặc định, ClickHouse web UI lắng nghe trên cổng 8123. Bạn có thể kiểm tra bằng lệnh sau:
Mã:
ss -antpl | grep 8123
Mã:
LISTEN 0 4096 0.0.0.0:8123 0.0.0.0:* users:(("clickhouse-serv",pid=18580,fd=158))
Cung cấp tên người dùng, mật khẩu mặc định của bạn và nhấp vào nút Đăng nhập. Sau khi đăng nhập, bạn sẽ thấy màn hình sau: