Cách cài đặt hệ thống cơ sở dữ liệu ClickHouse OLAP trên Debian 11

theanh

Administrator
Nhân viên
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.

Đ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
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:
Mã:
apt-get install curl gnupg2 wget git apt-transport-https ca-certificates -y
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.

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
Bạn sẽ nhận được kết quả sau:
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
Tiếp theo, thêm kho lưu trữ ClickHouse vào APT bằng lệnh sau:
Mã:
echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" | tee /etc/apt/sources.list.d/clickhouse.list
Tiếp theo, cập nhật kho lưu trữ và cài đặt ClickHouse bằng lệnh sau:
Mã:
apt-get update -y
apt-get install clickhouse-server clickhouse-client -y
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:
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) ...
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.

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
Bây giờ bạn có thể xác minh trạng thái của ClickHouse bằng lệnh sau:
Mã:
systemctl status clickhouse-server
Bạn sẽ nhận được kết quả đầu ra sau:
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
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:
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 :)
Bây giờ, hãy tạo một cơ sở dữ liệu có tên là testdb bằng lệnh sau:
Mã:
debian11 :) CREATE DATABASE testdb;
Bạn sẽ nhận được kết quả sau:
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.
Tiếp theo, hãy thay đổi cơ sở dữ liệu thành testdb bằng lệnh sau:
Mã:
debian11 :) USE testdb;
Bạn sẽ nhận được kết quả sau:
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.
Tiếp theo, tạo một bảng có tên table1 bằng lệnh sau:
Mã:
debian11 :) CREATE TABLE table1 (? id UInt64,? name String,? url String,? created DateTime?) ENGINE = MergeTree()?PRIMARY KEY id?ORDER BY id;
Bạn sẽ nhận được kết quả sau:
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.
Tiếp theo, chèn một số giá trị vào bảng bằng lệnh sau:
Mã:
debian11 :) INSERT INTO table1 VALUES (1, 'jay', 'https://www.howtoforge.com', '2021-12-31 00:01:01');
Bạn sẽ nhận được kết quả sau:
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.
Tiếp theo, thêm một cột mới bằng lệnh sau:
Mã:
debian11 :) ALTER TABLE table1 ADD COLUMN location String;
Bạn sẽ nhận được kết quả sau:
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.
Nếu bạn muốn lấy dữ liệu từ bảng, hãy chạy lệnh sau:
Mã:
debian11 :) SELECT url, name FROM table1 WHERE url = 'https://www.howtoforge.com' LIMIT 1;
Bạn sẽ nhận được kết quả sau:
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.
Để xóa một cột, hãy chạy lệnh sau:
Mã:
debian11 :) ALTER TABLE table1 DROP COLUMN location;
Để xóa một bảng, hãy chạy lệnh sau:
Mã:
debian11 :) DROP TABLE table1;
Để xóa một cơ sở dữ liệu, hãy chạy lệnh sau:
Mã:
debian11 :) DROP DATABASE testdb;
Để thoát khỏi ClickHouse shell, hãy chạy lệnh sau:
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
Bỏ chú thích và thay đổi các dòng sau:
Mã:
0.0.0 ]]>
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:
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
Bạn sẽ thấy đầu ra sau:
Mã:
LISTEN 0 4096 0.0.0.0:8123 0.0.0.0:* users:(("clickhouse-serv",pid=18580,fd=158))
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:


Kết luận​

Trong hướng dẫn trên, chúng tôi đã giải thích cách cài đặt hệ thống cơ sở dữ liệu ClickHouse trên Debian 11. Chúng tôi cũng giải thích cách tạo và quản lý cơ sở dữ liệu và kích hoạt giao diện web ClickHouse. Tôi hy vọng điều này sẽ giúp bạn cài đặt ClickHouse trong môi trường sản xuất. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên