Cấu hình kho chứa và cài đặt gói YugabyteDB
Bước đầu tiên là thêm khóa GPG và kho chứa chính thức của YugabyteDB vào hệ thống Ubuntu 24.04 để đảm bảo tính toàn vẹn của các gói phần mềm.
Thực hiện lệnh để tải và thêm khóa GPG vào danh sách được tin cậy của hệ thống.
curl -fsSL https://downloads.yugabyte.com/PGP_KEYS/yugabyte-public-key.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yugabyte-archive-keyring.gpg > /dev/null
Kết quả mong đợi: Không có lỗi xuất hiện trên màn hình, file khóa được tạo thành công.
Tiếp theo, thêm kho chứa YugabyteDB vào danh sách nguồn cập nhật của apt.
echo "deb [signed-by=/usr/share/keyrings/yugabyte-archive-keyring.gpg] https://downloads.yugabyte.com/apt/bullseye main" | sudo tee /etc/apt/sources.list.d/yugabyte.list
Kết quả mong đợi: File cấu hình nguồn được ghi vào thư mục sources.list.d.
Cập nhật danh sách gói phần mềm và cài đặt các thành phần cốt lõi của YugabyteDB.
sudo apt update && sudo apt install -y yugabyte yugabyte-db
Kết quả mong đợi: Các gói yugabyte và yugabyte-db được tải và cài đặt thành công, bao gồm các thư viện phụ thuộc cần thiết.
Verify kết quả bằng cách kiểm tra phiên bản đã cài đặt.
yb-master --version
Kết quả mong đợi: Hiển thị dòng thông báo phiên bản của yb-master, xác nhận binary đã sẵn sàng.
Khởi động dịch vụ YB Master và YB TServer bằng systemd
YugabyteDB trên Ubuntu sử dụng systemd để quản lý vòng đời của các tiến trình. Chúng ta cần cấu hình khởi động tự động cho cả Master (quản lý metadata) và TServer (lưu trữ dữ liệu).
Khởi động dịch vụ yb-master và thiết lập tự động chạy khi khởi động lại máy.
sudo systemctl start yb-master.service && sudo systemctl enable yb-master.service
Kết quả mong đợi: Dịch vụ bắt đầu chạy và được kích hoạt cho các lần reboot sau.
Khởi động dịch vụ yb-tserver và thiết lập tự động chạy khi khởi động lại máy.
sudo systemctl start yb-tserver.service && sudo systemctl enable yb-tserver.service
Kết quả mong đợi: Dịch vụ bắt đầu chạy và được kích hoạt cho các lần reboot sau.
Chờ khoảng 30-60 giây để hệ thống khởi tạo cluster đơn node. Kiểm tra trạng thái của cả hai dịch vụ.
sudo systemctl status yb-master.service yb-tserver.service
Kết quả mong đợi: Cả hai dịch vụ đều hiển thị trạng thái active (running).
Tùy chọn: Nếu muốn cấu hình lại đường dẫn dữ liệu hoặc cổng, chỉnh sửa file config của systemd.
Đường dẫn: /etc/yugabyte/conf.d/yb-master.conf
cat > /etc/yugabyte/conf.d/yb-master.conf
Đường dẫn: /etc/yugabyte/conf.d/yb-tserver.conf
cat > /etc/yugabyte/conf.d/yb-tserver.conf
Sau khi sửa config, cần restart dịch vụ để áp dụng.
sudo systemctl restart yb-master.service yb-tserver.service
Kết quả mong đợi: Dịch vụ khởi động lại và áp dụng các thông số mới.
Truy cập giao diện quản trị YQL và YSQL
YugabyteDB cung cấp hai giao diện web riêng biệt: YQL (dành cho Cassandra/CQL) và YSQL (dành cho PostgreSQL/SQL). Mặc định chúng chạy trên cổng 7000.
Kiểm tra trạng thái lắng nghe cổng của dịch vụ YB Master.
sudo ss -tulpn | grep 7000
Kết quả mong đợi: Hiển thị tiến trình yb-master đang lắng nghe trên cổng 7000.
Truy cập YSQL UI (Giao diện quản trị SQL tương tự pgAdmin).
Trên trình duyệt web, nhập địa chỉ: http://localhost:7000/console
Mặc định, YSQL UI yêu cầu xác thực. Nếu là lần đầu truy cập trên local, bạn có thể cần cấu hình hoặc sử dụng quyền root.
Kết quả mong đợi: Hiển thị trang đăng nhập hoặc Dashboard của YSQL với thông tin Cluster.
Truy cập YQL UI (Giao diện quản trị CQL tương tự DataStax Studio).
Trên trình duyệt web, nhập địa chỉ: http://localhost:7000/console?tab=yql
Kết quả mong đợi: Chuyển sang tab YQL, hiển thị danh sách keyspace và tables.
Để truy cập nhanh hơn qua CLI, sử dụng công cụ yb-ycqlsh (cho YQL) và yb-ysql (cho YSQL).
yb-ycqlsh --username=cassandra --password=cassandra --password-file=-
Kết quả mong đợi: Mở shell CQL, bạn có thể nhập lệnh như DESCRIBE KEYSPACES;.
yb-ysql --host=localhost --port=5433 --username=postgres
Kết quả mong đợi: Mở shell SQL, bạn có thể nhập lệnh như \l để liệt kê databases.
Kiểm tra trạng thái sức khỏe của cụm qua CLI và UI
Sử dụng công cụ CLI yb-admin để kiểm tra chi tiết trạng thái của các node trong cụm.
Liệt kê trạng thái của tất cả các node trong cluster.
yb-admin list_nodes --master_addresses=127.0.0.1:7000
Kết quả mong đợi: Hiển thị bảng với trạng thái LIVE cho cả YB Master và YB TServer.
Kiểm tra trạng thái các tablet (đơn vị dữ liệu) trong cluster.
yb-admin list_tablets --master_addresses=127.0.0.1:7000
Kết quả mong đợi: Hiển thị danh sách các tablet với trạng thái LEADER và FOLLOWER (trong mode đơn node, một tablet sẽ có 1 leader và 0 follower hoặc 1 follower tùy cấu hình replication factor).
Sử dụng lệnh yb-cluster-health để kiểm tra nhanh.
yb-admin cluster_health --master_addresses=127.0.0.1:7000
Kết quả mong đợi: Xuất ra báo cáo HEALTHY nếu mọi thành phần đều hoạt động bình thường.
Trong giao diện Web UI (http://localhost:7000), vào tab Cluster -> Nodes.
Kiểm tra cột State của từng node.
Kết quả mong đợi: Tất cả node hiển thị màu xanh lá và trạng thái Running.
Verify cuối cùng bằng cách tạo một database đơn giản qua YSQL để xác nhận hệ thống ghi dữ liệu thành công.
yb-ysql --host=localhost --port=5433 --username=postgres -c "CREATE DATABASE test_acid; \c test_acid; CREATE TABLE users (id SERIAL PRIMARY KEY, name TEXT); INSERT INTO users (name) VALUES ('Admin'); SELECT * FROM users;"
Kết quả mong đợi: Database và bảng được tạo, dữ liệu được chèn và truy vấn trả về 1 dòng kết quả.
Điều hướng series:
Mục lục: Series: Triển khai Database ACID với YugabyteDB 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 cho YugabyteDB
Phần 3: Tạo và quản lý không gian làm việc (Tablespaces) trong YugabyteDB »