Cấu hình Repository chính thức của ClickHouse
Bước đầu tiên là thêm repository chính thức của ClickHouse vào hệ thống Ubuntu 24.04 để đảm bảo nguồn gói phần mềm luôn cập nhật và tương thích.
Chúng ta sẽ sử dụng công cụ gpg để tải và ký xác thực khóa mã hóa, sau đó thêm file repository vào danh sách nguồn của apt.
curl -fsSL https://packages.clickhouse.com/rpm/repodata/primary.sqlite.gz | sudo tee /tmp/primary.sqlite.gz
Tải file repository metadata từ server chính thức của ClickHouse về thư mục tạm thời để kiểm tra tính toàn vẹn.
Kết quả: File primary.sqlite.gz được lưu vào /tmp/ mà không có lỗi.
curl -fsSL https://packages.clickhouse.com/rpm/repodata/repodata.xml | sudo tee /tmp/repodata.xml
Tải file mô tả chi tiết các gói phần mềm có sẵn trong repository.
Kết quả: File repodata.xml được tạo thành công.
sudo apt-get update
Cập nhật danh sách gói phần mềm từ tất cả các nguồn đã cấu hình, bao gồm cả repository mới thêm.
Kết quả: Quá trình cập nhật chạy xong, hiển thị dòng "Get: [URL] main InRelease" hoặc tương tự cho ClickHouse.
Trên Ubuntu, cách chuẩn nhất là thêm file repository vào thư mục /etc/apt/sources.list.d/ thay vì dùng lệnh add-apt-repository thủ công để tránh xung đột.
echo "deb https://packages.clickhouse.com/deb/ main" | sudo tee /etc/apt/sources.list.d/clickhouse.list
Viết nội dung định nghĩa repository vào file clickhouse.list trong thư mục cấu hình nguồn của apt.
Kết quả: File /etc/apt/sources.list.d/clickhouse.list được tạo với nội dung trỏ về repository chính thức.
sudo apt-get install curl gnupg -y
Đảm bảo các công cụ cần thiết để tải và ký mã hóa đã được cài đặt (nếu chưa có từ Phần 1).
Kết quả: Các gói curl và gnupg được cài đặt hoặc nâng cấp thành công.
curl -fsSL https://packages.clickhouse.com/rpm/ClickHouse.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/ClickHouse.gpg
Tải khóa công khai (GPG key) của ClickHouse và chuyển đổi sang định dạng binary để apt có thể xác thực các gói tải về.
Kết quả: File /etc/apt/trusted.gpg.d/ClickHouse.gpg được tạo, apt sẽ không còn cảnh báo về key chưa xác thực khi cài đặt.
sudo apt-get update
Bắt buộc chạy lại update sau khi thêm key để apt nhận diện repository mới với chữ ký hợp lệ.
Kết quả: Không có lỗi về chữ ký (signature) khi quét repository ClickHouse.
Cài đặt ClickHouse Server và Client
Sau khi repository đã sẵn sàng, ta tiến hành cài đặt hai gói cốt lõi: clickhouse-server để chạy database và clickhouse-client để tương tác từ dòng lệnh.
ClickHouse trên Ubuntu thường được cài đặt qua gói clickhouse-common-static (thư viện chia sẻ) và các gói riêng biệt cho server/client.
sudo apt-get install clickhouse-server clickhouse-client -y
Cài đặt đồng thời cả server và client. Lệnh này sẽ tự động giải quyết các dependency cần thiết.
Kết quả: Quá trình cài đặt hoàn tất, hiển thị thông báo "Setting up clickhouse-server" và "Setting up clickhouse-client".
Để kiểm tra xem các gói đã được cài đặt chính xác chưa, ta dùng lệnh dpkg.
dpkg -l | grep clickhouse
Liệt kê các gói phần mềm đã cài đặt có chứa chuỗi "clickhouse" trong tên.
Kết quả: Hiển thị danh sách bao gồm clickhouse-server, clickhouse-client và các gói phụ thuộc như clickhouse-common-static.
Để đảm bảo ClickHouse có thể ghi log và lưu dữ liệu đúng quy chuẩn, ta cần kiểm tra quyền sở hữu của các thư mục mặc định.
sudo chown -R clickhouse:clickhouse /var/lib/clickhouse /var/log/clickhouse-server
Chuyển quyền sở hữu thư mục dữ liệu (/var/lib/clickhouse) và thư mục log (/var/log/clickhouse-server) sang user clickhouse.
Kết quả: Không có lỗi báo "Permission denied". Nếu bỏ qua bước này, server có thể bị lỗi khi khởi động do không ghi được file.
Kiểm tra phiên bản và Khởi động Service
Trước khi chạy server, ta cần xác minh phiên bản phần mềm đã cài đặt để đảm bảo nó khớp với tài liệu hướng dẫn.
clickhouse-server --version
In ra phiên bản của ClickHouse Server hiện tại đang cài trên hệ thống.
Kết quả: Hiển thị dòng tương tự ClickHouse server version 24.8.x (official build).
clickhouse-client --version
In ra phiên bản của ClickHouse Client để đảm bảo tính tương thích với Server.
Kết quả: Phiên bản hiển thị phải trùng khớp với Server.
Bây giờ ta tiến hành khởi động dịch vụ ClickHouse Server sử dụng systemd, cơ chế quản lý dịch vụ chuẩn trên Ubuntu 24.04.
sudo systemctl start clickhouse-server
Đưa trạng thái dịch vụ clickhouse-server sang running (đang chạy).
Kết quả: Lệnh chạy xong, không có lỗi. Dịch vụ bắt đầu khởi động các tiến trình con.
Để đảm bảo server tự động khởi động khi máy tính bật lại (reboot), ta cần bật tính năng enable.
sudo systemctl enable clickhouse-server
Liên kết dịch vụ ClickHouse vào runlevel của hệ thống để tự động khởi động khi máy lên.
Kết quả: Hiển thị thông báo "Created symlink /etc/systemd/system/multi-user.target.wants/clickhouse-server.service -> /lib/systemd/system/clickhouse-server.service."
Kiểm tra trạng thái hoạt động của server để xác nhận mọi thứ đã ổn định.
sudo systemctl status clickhouse-server
Hiển thị thông tin chi tiết về trạng thái dịch vụ: Active (active/running), Time (thời gian chạy), và các thông báo log gần nhất.
Kết quả: Dòng Active: active (running) xuất hiện màu xanh lá, kèm theo dòng Main PID của tiến trình server.
Để verify kết quả cài đặt toàn diện, ta sẽ thực hiện một truy vấn đơn giản qua client để kết nối vào server vừa khởi động.
clickhouse-client -q "SELECT 'ClickHouse is running!'"
Sử dụng client để gửi câu lệnh SQL đơn giản đến server và nhận kết quả trả về.
Kết quả: Màn hình hiển thị dòng ClickHouse is running! (có thể kèm theo số hàng và thời gian thực thi).
Đảm bảo rằng cổng mặc định 9000 (TCP) và 8123 (HTTP) đang lắng nghe (listening).
sudo ss -tlnp | grep clickhouse
Liệt kê các socket TCP đang lắng nghe và lọc ra các tiến trình thuộc về ClickHouse.
Kết quả: Hiển thị các dòng chứa 9000 và 8123 với trạng thái LISTEN và tên tiến trình clickhouse-server.
Điều hướng series:
Mục lục: Series: Triển khai Database Real-time với ClickHouse trên Ubuntu 24.04
« Phần 1: Chuẩn bị môi trường Ubuntu 24.04 và yêu cầu hệ thống
Phần 3: Cấu hình bảo mật và tài khoản người dùng »