1. Cài đặt YugabyteDB từ Repository chính thức
Thực hiện thêm kho lưu trữ (repository) chính thức của YugabyteDB vào hệ thống Ubuntu 24.04 để đảm bảo phiên bản v2.11 mới nhất được đồng bộ.
Chúng ta cần nhập khóa GPG để xác minh tính toàn vẹn của gói phần mềm và cập nhật danh sách gói.
Kết quả mong đợi: Hệ thống nhận diện được gói yugabyted phiên bản 2.11 khi chạy lệnh apt-cache.
sudo apt-get update
sudo apt-get install -y gnupg curl
curl -fsSL https://packagecloud.io/yugabyte/yugabyte-debian/gpgkey | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/yugabyte.gpg
curl -fsSL https://packagecloud.io/yugabyte/yugabyte-debian/list/bionic | sudo tee /etc/apt/sources.list.d/yugabyte.list
sudo apt-get update
Tiếp theo, cài đặt gói YugabyteDB và các thành phần cần thiết (yugabyted, yb-master, yb-tserver).
Lệnh này sẽ tải về và cài đặt các binary cần thiết cũng như cấu hình cơ bản của dịch vụ.
Kết quả mong đợi: Các gói phần mềm được cài đặt thành công, không có lỗi về dependency.
sudo apt-get install -y yugabyted yb-master yb-tserver
Verify kết quả bằng cách kiểm tra phiên bản đã cài đặt.
yb-master --version
yb-tserver --version
2. Cấu hình file yugabyted.conf cho từng node
Sửa file cấu hình chính /etc/yugabyted/yugabyted.conf để định nghĩa các tham số khởi động cho Master và Tablet Server.
Trên môi trường thực tế, ta cần chỉ rõ địa chỉ IP của các node (Node1, Node2, Node3) để chúng có thể phát hiện lẫn nhau qua giao diện mạng.
Kết quả mong đợi: File cấu hình chứa đúng danh sách IP của 3 node và cấu hình log directory phù hợp.
sudo mkdir -p /var/lib/yugabyte/data
sudo mkdir -p /var/lib/yugabyte/log
sudo chown -R yugabyte:yugabyte /var/lib/yugabyte
Thay thế nội dung file cấu hình. Lưu ý thay thế 192.168.1.10, 192.168.1.11, 192.168.1.12 bằng địa chỉ IP thực tế của 3 máy chủ trong cụm.
Đoạn cấu hình này chỉ định 3 Master và 3 Tablet Server, đồng thời tắt chế độ bảo mật mặc định (security_enabled: false) để đơn giản hóa quá trình triển khai ban đầu (có thể bật lại ở phần sau).
Kết quả mong đợi: File cấu hình được ghi đè hoàn chỉnh, sẵn sàng để khởi động dịch vụ.
cat > /etc/yugabyted/yugabyted.conf
Cấu hình mạng (Network Interface) để đảm bảo YugabyteDB lắng nghe đúng IP công cộng thay vì localhost.
Tham số advertise_address và rpc_bind_address phải khớp với IP thực tế của node hiện tại.
Kết quả mong đợi: Dịch vụ lắng nghe trên đúng địa chỉ IP mạng, cho phép các node khác kết nối.
cat >> /etc/yugabyted/yugabyted.conf
Lưu ý: Nếu bạn đang cấu hình cho Node 2 và Node 3, hãy chỉnh sửa dòng advertise_address thành IP tương ứng của chúng (192.168.1.11 và 192.168.1.12).
3. Khởi động các dịch vụ Master và Tablet Server
Sử dụng script yugabyted để khởi động cụm trên 3 node đồng thời.
Lệnh start sẽ đọc file yugabyted.conf và khởi động các tiến trình yb-master và yb-tserver theo định nghĩa.
Kết quả mong đợi: Các dịch vụ bắt đầu chạy, console hiển thị thông báo "Cluster is starting" và các tiến trình được tạo ra.
sudo systemctl start yugabyted
sudo systemctl enable yugabyted
Đợi khoảng 30-60 giây để Master hoàn tất quá trình bầu chọn (leader election) và khởi tạo các Tablet Server.
Kiểm tra trạng thái của các tiến trình để đảm bảo không có tiến trình nào bị dừng (crash).
Kết quả mong đợi: Tất cả các tiến trình yb-master và yb-tserver đều có trạng thái "running".
ps aux | grep yb-
Verify kết quả bằng cách xem log khởi động để đảm bảo không có lỗi FATAL.
tail -n 50 /var/lib/yugabyte/log/yugabyted.log
4. Kiểm tra trạng thái cụm và xác minh tính sẵn sàng
Sử dụng công cụ dòng lệnh yb-admin để kiểm tra sức khỏe của cụm (Cluster Health).
Tham số --master chỉ định địa chỉ IP của Master Leader (thường là node đầu tiên được khởi động).
Kết quả mong đợi: Đầu ra hiển thị trạng thái UNAVAILABLE chuyển sang AVAILABLE sau vài giây, và tất cả 3 Master đều có trạng thái ONLINE.
yb-admin --master=192.168.1.10:7000 cluster_status
Kiểm tra trạng thái của các Tablet Server để đảm bảo chúng đã join vào cụm thành công.
Chúng ta cần thấy số lượng live tservers bằng 3.
Kết quả mong đợi: Đầu ra liệt kê 3 Tablet Server với trạng thái ONLINE và tablet_count > 0.
yb-admin --master=192.168.1.10:7000 cluster_status --tserver
Thực hiện lệnh node_status để kiểm tra chi tiết trạng thái của từng node cụ thể.
Điều này giúp xác minh rằng node hiện tại đang giao tiếp bình thường với Master Leader.
Kết quả mong đợi: Trả về thông tin chi tiết về node, bao gồm state: ONLINE và last_heartbeat gần đây.
yb-admin --master=192.168.1.10:7000 node_status 192.168.1.10:9000
5. Cấu hình giao diện quản trị và truy cập Web UI
Khởi động dịch vụ YQL Console (YSQL) để truy cập cơ sở dữ liệu qua giao diện web.
YQL Console thường chạy kèm với yb-master hoặc như một tiến trình riêng tùy cấu hình, nhưng với yugabyted nó thường tự động khởi động nếu có cấu hình ysql.
Kết quả mong đợi: Dịch vụ YQL lắng nghe trên cổng 7000 (HTTP) hoặc 5433 (PostgreSQL), sẵn sàng nhận kết nối.
curl -s http://192.168.1.10:7000
Truy cập giao diện Web UI (YQL Console) từ trình duyệt trên máy client.
Đường dẫn truy cập là http://IP_NODE_1:7000. Giao diện này cho phép tạo database, user và thực thi query SQL.
Kết quả mong đợi: Trình duyệt hiển thị trang đăng nhập hoặc trang chủ của YugabyteDB YQL Console.
# Không cần chạy command, hãy mở trình duyệt và nhập:
# http://192.168.1.10:7000
Kiểm tra kết nối trực tiếp qua CLI PostgreSQL (psql) để xác minh YSQL engine hoạt động.
Chúng ta sẽ kết nối tới cổng 5433 (mặc định của YugabyteDB YSQL) trên node đầu tiên.
Kết quả mong đợi: Kết nối thành công, hiển thị prompt postgres=# hoặc template1=#.
psql -h 192.168.1.10 -p 5433 -U postgres -d postgres
Thực thi một câu lệnh SQL đơn giản để kiểm tra tính sẵn sàng của database.
Đây là bước verify cuối cùng để khẳng định cụm HTAP đã sẵn sàng cho việc phát triển.
Kết quả mong đợi: Trả về kết quả của câu lệnh, ví dụ 1 hoặc danh sách các database.
SELECT current_database();
Điều hướng series:
Mục lục: Series: Triển khai Database HTAP với YugabyteDB và Linux Kernel Tuning trên Ubuntu 24.04
« Phần 3: Tinh chỉnh Linux Kernel (Part 2): Tối ưu hóa mạng và bộ nhớ mạng
Phần 5: Cấu hình kiến trúc HTAP: Phân tách giao dịch và truy vấn phân tích »