Cách cài đặt cơ sở dữ liệu ClickHouse OLAP trên Debian 10

theanh

Administrator
Nhân viên
ClickHouse là một hệ thống quản lý cơ sở dữ liệu hướng cột nguồn mở do Yandex phát triển. Hệ thống này đa nền tảng và có thể cài đặt trên bất kỳ hệ điều hành Linux, FreeBSD hoặc Mac OS X nào. ClickHouse cung cấp các giới hạn linh hoạt về độ phức tạp của truy vấn và mức sử dụng tài nguyên, có thể được tinh chỉnh bằng các cài đặt. ClickHouse cung cấp một bộ tính năng phong phú, chẳng hạn như Nén dữ liệu, Hỗ trợ IPv6, Tính khả dụng cao, Thu thập dữ liệu theo thời gian thực, Thực thi truy vấn song song và phân tán, Vị trí tham chiếu trên đĩa, Lưu trữ hướng cột thực sự và nhiều tính năng khác.

Hướng dẫn này sẽ giải thích cách cài đặt ClickHouse trên máy chủ Debian 10. Chúng tôi cũng sẽ giải thích cách tạo cơ sở dữ liệu và bảng bằng máy khách ClickHouse và cấu hình máy chủ ClickHouse để cho phép kết nối từ máy chủ từ xa.

Yêu cầu​

  • Máy chủ chạy Debian 10.
  • Mật khẩu gốc được thiết lập cho 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 hệ thống của mình lên phiên bản mới nhất. Bạn có thể thực hiện việc này bằng cách chạy lệnh sau:
Mã:
apt-get update -y
apt-get upgrade -y
Sau khi máy chủ của bạn được cập nhật, hãy khởi động lại máy chủ để áp dụng các thay đổi.

Cài đặt ClickHouse​

Theo mặc định, ClickHouse không có trong kho lưu trữ mặc định của Debian 10. Vì vậy, bạn sẽ cần thêm kho lưu trữ ClickHouse vào APT.

Đầu tiên, hãy tải xuống và nhập khóa GPG bằng lệnh sau:
Mã:
apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4
Bạn sẽ thấy đầu ra sau:
Mã:
Đang thực thi: /tmp/apt-key-gpghome.CJf2zS1pCH/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 gói máy chủ và máy khách ClickHouse bằng lệnh sau:
Mã:
apt-get update -y
apt-get install dirmngr 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 ClickHouse như hiển thị bên dưới:



Cung cấp mật khẩu của bạn và nhấn Enter để tiếp tục cài đặt. Sau khi cài đặt hoàn tất, hãy khởi động máy chủ ClickHouse và cho phép nó khởi động sau khi hệ thống khởi động lại bằng lệnh sau:
Mã:
systemctl start clickhouse-server
systemctl enable clickhouse-server
Bạn có thể xác minh trạng thái của dịch vụ ClickHouse bằng lệnh sau:
Mã:
systemctl status clickhouse-server
Bạn sẽ thấy đầu ra sau:
Mã:
systemctl status clickhouse-server? clickhouse-server.service - Máy chủ ClickHouse (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 kích hoạt (tự động khởi động lại) (Kết quả: mã thoát) kể từ Thứ bảy 2019-09-07 07:48:00 EDT; 8 giây trước Tiến trình: 642 ExecStart=/usr/bin/clickhouse-server --config=/etc/clickhouse-server/config.xml --pid-file=/run/clickhouse-server/clickhouse-ser PID chính: 642 (code=exited, status=1/FAILURE)
Trong kết quả ở trên, bạn sẽ thấy máy chủ ClickHouse không khởi động được. Để giải quyết lỗi này, hãy mở tệp /etc/ssl/openssl.cnf bằng lệnh sau:
Mã:
nano /etc/ssl/openssl.cnf
Bình luận dòng sau:
Mã:
#ssl_conf = ssl_sect
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, khởi động lại máy chủ Clickhouse bằng lệnh sau:
Mã:
systemctl start clickhouse-server
Khi máy chủ ClickHouse khởi động thành công, bạn sẽ nhận được kết quả sau:
Mã:
? clickhouse-server.service - ClickHouse Server (hệ quản trị cơ sở dữ liệu 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 2019-09-06 05:28:51 EDT; 1 phút 24 giây trước PID chính: 1822 (clickhouse-serv) Nhiệm vụ: 38 (giới hạn: 1138) Bộ nhớ: 42,6M CGroup: /system.slice/clickhouse-server.service ??1822 /usr/bin/clickhouse-server --config=/etc/clickhouse-server/config.xml --pid-file=/run/clickhouse-server/clickhouse-server.pid06/09 05:28:51 debian systemd[1]: Đã khởi động ClickHouse Server (hệ quản trị cơ sở dữ liệu phân tích cho dữ liệu lớn).06/09 05:28:51 debian clickhouse-server[1822]: Không tìm thấy include: clickhouse_remote_servers06/09 05:28:51 debian clickhouse-server[1822]: Không tìm thấy include: clickhouse_compression06/09 05:28:51 debian clickhouse-server[1822]: Ghi nhật ký theo dõi đến /var/log/clickhouse-server/clickhouse-server.log06/09 05:28:51 debian clickhouse-server[1822]: Ghi nhật ký lỗi đến /var/log/clickhouse-server/clickhouse-server.err.log06/09 05:28:51 debian clickhouse-server[1822]: Không tìm thấy include: networks06/09 05:28:53 debian clickhouse-server[1822]: Không tìm thấy include: clickhouse_remote_servers06/09 05:28:53 debian clickhouse-server[1822]: Không tìm thấy include: clickhouse_compression
Khi bạn hoàn tất, bạn có thể tiến hành bước tiếp theo.

Tạo cơ sở dữ liệu và bảng bằng ClickHouse​

Bạn có thể tạo và xóa cơ sở dữ liệu và bảng bằng cách chạy lệnh SQL trực tiếp trong dấu nhắc của máy khách ClickHouse.

Trước tiên, hãy kết nối máy chủ ClickHouse bằng cách chỉ định mật khẩu mà bạn đã tạo trong quá trình cài đặt ClickHouse bằng lệnh sau:
Mã:
clickhouse-client --password admin@123
Bạn sẽ thấy đầu ra sau:
Mã:
Phiên bản máy khách ClickHouse 19.13.3.26 (bản dựng chính thức).Đ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 19.13.3 bản sửa đổi 54425.debian :)
Bây giờ, hãy tạo một cơ sở dữ liệu mẫu có tên clickdb bằng lệnh sau:
Mã:
debian :) CREATE DATABASE clickdb;
Bạn sẽ thấy kết quả sau:
Mã:
CREATE DATABASE clickdbOk.0 hàng trong bộ. Đã trôi qua: 0,014 giây.
Tiếp theo, hãy thay đổi cơ sở dữ liệu thành clickdb bằng lệnh sau:
Mã:
debian :) USE clickdb;
Bạn sẽ thấy kết quả sau:
Mã:
USE clickdbOk.0 hàng trong bộ. Đã trôi qua: 0,002 giây.
Tiếp theo, tạo một bảng có tên là ontime bằng lệnh sau:
Mã:
debian :) CREATE TABLE ontime ( Year UInt16, Quarter UInt8, Month UInt8, DayofMonth UInt8, DayOfWeek UInt8, FlightDate Date, AirlineID Int32, FlightNum String ) ENGINE = MergeTree(FlightDate, (Year, FlightDate), 8192);
Bạn sẽ thấy đầu ra sau:
Mã:
CREATE TABLE ontime( `Year` UInt16, `Quarter` UInt8, `Month` UInt8, `DayofMonth` UInt8, `DayOfWeek` UInt8, `FlightDate` Date, `AirlineID` Int32, `FlightNum` String)ENGINE = MergeTree(FlightDate, (Year, FlightDate), 8192)Ok.0 hàng trong tập hợp. Đã trôi qua: 0,127 giây.
Bạn cũng có thể xem nội dung của bảng bằng lệnh sau:
Mã:
debian :) describe ontime;
Bạn sẽ thấy đầu ra sau:
Mã:
DESCRIBE TABLE ontime??name????????????type????????default_type???comment???codec_expression???ttl_expression??? Năm ? UInt16 ? ? ? ? ? ?? Quý ? UInt8 ? ? ? ? ? ? ?? Tháng ? UInt8 ? ? ? ? ? ? ?? DayofMonth ? UInt8 ? ? ? ? ? ?? DayOfWeek ? UInt8 ? ? ? ? ? ?? FlightDate ? Ngày ? ? ? ? ? ?? AirlineID ? Int32 ? ? ? ? ? ? ?? FlightNum ? Chuỗi ? ? ? ? ? ??????????????????????????????????????????????????????????????????????????????????????????????????????8 hàng trong tập hợp. Đã trôi qua: 0,007 giây.
Bạn cũng có thể chèn, cập nhật và xóa dữ liệu khỏi bảng ontime.

Xóa Cơ sở dữ liệu và Bảng​

Bạn cũng có thể xóa cơ sở dữ liệu và bảng của mình bằng ứng dụng khách ClickHouse.

Nếu bạn muốn xóa bảng, hãy chạy lệnh sau:
Mã:
debian :) DROP TABLE ontime;
Bạn sẽ thấy đầu ra sau:
Mã:
DROP TABLE ontimeĐược.0 hàng trong tập hợp. Đã trôi qua: 0,003 giây.
Bạn cũng có thể xóa cơ sở dữ liệu bằng lệnh sau:
Mã:
debian :) DROP DATABASE clickdb;
Bạn sẽ thấy kết quả sau:
Mã:
DROP DATABASE clickdbOk.0 hàng trong tập hợp. Đã trôi qua: 0,002 giây.
Khi bạn hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cấu hình ClickHouse để kết nối từ máy chủ từ xa​

Bạn cũng có thể kết nối máy chủ cơ sở dữ liệu ClickHouse từ máy chủ từ xa. Để thực hiện việc này, bạn sẽ cần chỉnh sửa tệp cấu hình ClickHouse config.xml:
Mã:
nano /etc/clickhouse-server/config.xml
Tìm dòng sau:
Mã:
Và thay đổi thành như sau:
Mã:
0.0.0.0
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, khởi động lại dịch vụ ClickHouse để áp dụng cấu hình mới:
Mã:
systemctl restart clickhouse-server
ClickHouse hiện đã được cấu hình để kết nối từ máy chủ từ xa.

Bây giờ, hãy đăng nhập vào máy chủ từ xa và kết nối máy chủ ClickHouse bằng lệnh sau:
Mã:
clickhouse-client --host your_server_ip --password admin@123
Sau khi kết nối thành công, bạn sẽ thấy đầu ra sau:
Mã:
Phiên bản máy khách ClickHouse 19.13.3.26 (bản dựng chính thức).Đ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 19.13.3 bản sửa đổi 54425.debian :)

Kết luận​

Xin chúc mừng! Bạn đã cài đặt thành công máy chủ ClickHouse trên máy chủ Debian 10. Bây giờ bạn có thể dễ dàng tạo cơ sở dữ liệu, bảng mới, chèn và cập nhật dữ liệu và thực hiện truy vấn thông qua ứng dụng ClickHouse. Để biết thêm thông tin, bạn có thể truy cập tài liệu chính thức của ClickHouse tại ClickHouse Doc. 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