Tạo tài khoản quản trị viên và cấu hình bảo mật
Bước đầu tiên là thiết lập tài khoản Admin mặc định của Apache Doris để có quyền truy cập đầy đủ vào hệ thống. Theo mặc định, Doris FE sử dụng tài khoản "root" với mật khẩu rỗng, điều này rất nguy hiểm trong môi trường sản xuất.
Tại sao cần làm: Để khóa quyền truy cập mặc định và bảo vệ dữ liệu khỏi truy cập trái phép ngay từ khi khởi động cụm.
Kết quả mong đợi: Tài khoản root có mật khẩu mới, không thể đăng nhập bằng mật khẩu rỗng.
Trước khi thực hiện, hãy đảm bảo bạn đã đăng nhập vào máy chủ chứa Frontend (FE) với quyền root hoặc sudo. Chúng ta sẽ sử dụng công cụ dòng lệnh MySQL (cung cấp cùng với Doris) để đặt mật khẩu.
mysql -h127.0.0.1 -P9030 -uroot -e "ALTER USER 'root'@'%' IDENTIFIED BY 'Doris@Secure2024';"
Lệnh này sẽ cập nhật bảng người dùng trong hệ thống quản lý của FE. Nếu bạn thấy lỗi "Access denied", hãy thử không có tham số `-p` nếu chưa có mật khẩu, hoặc kiểm tra lại cấu hình `user` trong file `fe.conf`.
Kết quả mong đợi: Dòng thông báo "Query OK, 0 rows affected" xuất hiện, xác nhận mật khẩu đã được thay đổi thành công.
Sau khi đặt mật khẩu, bạn cần tạo thêm một tài khoản quản trị viên phụ (admin_user) với quyền hạn tương tự để dự phòng, tránh bị khóa ngoài nếu quên mật khẩu root.
mysql -h127.0.0.1 -P9030 -uroot -p -e "CREATE USER 'admin'@'%' IDENTIFIED BY 'DorisAdmin@2024'; GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%'; FLUSH PRIVILEGES;"
Lệnh này tạo user mới "admin", cấp toàn bộ quyền (ALL PRIVILEGES) trên mọi database, và làm mới bảng quyền (FLUSH PRIVILEGES) để ngay lập tức.
Kết quả mong đợi: Xuất hiện thông báo "Query OK" cho cả 3 câu lệnh (CREATE, GRANT, FLUSH).
Verify kết quả tạo tài khoản
Để xác minh, hãy thử đăng nhập bằng tài khoản mới tạo với mật khẩu đã thiết lập.
mysql -h127.0.0.1 -P9030 -uadmin -pDorisAdmin@2024 -e "SHOW DATABASES;"
Kết quả mong đợi: Danh sách các database mặc định (như `information_schema`, `mysql`, `sys`) được hiển thị mà không có lỗi đăng nhập.
Truy cập giao diện quản lý Apache Doris Web UI
Cấu hình cổng quản lý và truy cập trình duyệt
Apache Doris FE cung cấp một giao diện Web (Web UI) để quản lý cụm trực quan. Mặc định, cổng Web UI là 8030. Chúng ta cần đảm bảo cổng này mở và có thể truy cập từ máy khách.
Tại sao cần làm: Để giám sát trực quan các chỉ số hiệu năng, quản lý tài nguyên và xem log lỗi mà không cần gõ lệnh.
Kết quả mong đợi: Có thể mở trình duyệt, nhập địa chỉ IP của FE và cổng 8030, sau đó đăng nhập thành công.
Trước tiên, hãy kiểm tra xem dịch vụ FE có đang lắng nghe cổng 8030 hay không trên server.
sudo ss -tulpn | grep 8030
Kết quả mong đợi: Dòng output hiển thị quá trình `java` (FE) đang listen trên `0.0.0.0:8030` hoặc `127.0.0.1:8030`. Nếu chỉ thấy 127.0.0.1, bạn cần kiểm tra lại firewall.
Nếu bạn đang chạy trên Ubuntu 24.04, UFW (Uncomplicated Firewall) có thể đang chặn cổng. Hãy mở cổng 8030 để truy cập từ mạng LAN hoặc Internet.
sudo ufw allow 8030/tcp
Kết quả mong đợi: Thông báo "Rule added" hoặc "Rule added (v6)".
Bây giờ, trên trình duyệt của bạn (Chrome, Firefox, Edge...), hãy nhập địa chỉ IP của máy chủ FE. Giả sử IP là 192.168.1.100.
http://192.168.1.100:8030
Kết quả mong đợi: Giao diện đăng nhập Apache Doris xuất hiện. Nhập username `root` và mật khẩu `Doris@Secure2024` (hoặc tài khoản `admin` vừa tạo) vào các trường tương ứng.
Verify kết quả truy cập Web UI
Sau khi đăng nhập, bạn sẽ thấy Dashboard tổng quan. Kiểm tra xem tab "Overview" hoặc "Cluster" có hiển thị thông tin phiên bản và trạng thái hoạt động hay không.
Kết quả mong đợi: Màn hình Dashboard hiện ra với các biểu đồ và thống kê về BE nodes đang online.
Kiểm tra trạng thái Health của cụm và các node
Giám sát qua Web UI
Sử dụng Web UI để kiểm tra sức khỏe tổng thể của cụm (Cluster) và từng node Backend (BE).
Tại sao cần làm: Để xác nhận các node BE đã join vào cụm FE thành công và không có lỗi nghiêm trọng (Error/Warning) về phần cứng hoặc mạng.
Kết quả mong đợi: Tất cả các BE nodes hiển thị trạng thái "Alive" hoặc "Healthy", không có node nào ở trạng thái "Dead" hoặc "Decommissioning" (trừ khi chủ định).
Trong giao diện Web UI, hãy click vào tab Cluster trên menu bên trái.
Kết quả mong đợi: Bảng hiển thị danh sách các Backend Node với các cột: Host, Port, Status, Heartbeat, và Last Report Time.
Quan sát cột Status. Nếu thấy màu xanh lá cây (Alive), node đang hoạt động tốt. Nếu màu đỏ (Dead), cần kiểm tra log của BE.
Click vào tab Backend để xem chi tiết hơn về tài nguyên (CPU, RAM, Disk) của từng node.
Kết quả mong đợi: Biểu đồ sử dụng tài nguyên và trạng thái replication của từng BE được hiển thị rõ ràng.
Giám sát qua CLI (Doris Shell)
Sử dụng dòng lệnh để kiểm tra trạng thái nhanh chóng mà không cần mở trình duyệt, đặc biệt hữu ích khi tự động hóa script giám sát.
Tại sao cần làm: Để lấy dữ liệu trạng thái dạng văn bản (text) có thể parse được cho các công cụ monitoring như Prometheus hoặc Zabbix.
Kết quả mong đợi: Danh sách các node BE và trạng thái của chúng được in ra màn hình terminal.
Thực hiện lệnh sau để liệt kê tất cả các Backend đang tham gia cụm.
mysql -h127.0.0.1 -P9030 -uroot -pDoris@Secure2024 -e "SHOW BACKENDS;"
Lệnh này truy vấn bảng metadata của FE để lấy thông tin BE. Bạn sẽ thấy các cột như BackendId, Host, Port, Heartbeat, Alive, và LastReportTime.
Kết quả mong đợi: Output hiển thị ít nhất 1 dòng (hoặc nhiều dòng tùy số lượng BE bạn cài đặt) với cột Alive có giá trị true.
Để kiểm tra chi tiết hơn về phiên bản và cấu hình của FE, hãy dùng lệnh sau.
mysql -h127.0.0.1 -P9030 -uroot -pDoris@Secure2024 -e "SHOW FRONTENDS;"
Kết quả mong đợi: Thông tin về các node Frontend, bao gồm vai trò (Follower, Observer) và trạng thái kết nối với cluster.
Verify kết quả kiểm tra Health
So sánh số lượng BE trong kết quả của lệnh `SHOW BACKENDS` với số lượng máy bạn đã cài đặt Phần 2.
Kết quả mong đợi: Số lượng node hiển thị khớp với số lượng node thực tế, và tất cả đều có trạng thái Alive = true.
Sử dụng CLI (Doris Shell) để thực hiện các lệnh quản trị cơ bản
Truy cập và thực thi lệnh SQL quản trị
Apache Doris hỗ trợ giao thức MySQL, vì vậy bạn có thể sử dụng bất kỳ client MySQL nào hoặc shell mặc định để quản trị. Chúng ta sẽ tập trung vào các lệnh DDL (Data Definition Language) cơ bản.
Tại sao cần làm: Để tạo database, xóa database, và kiểm tra cấu hình hệ thống thông qua dòng lệnh.
Kết quả mong đợi: Database mới được tạo và có thể xem danh sách database.
Đăng nhập vào shell MySQL với quyền admin.
mysql -h127.0.0.1 -P9030 -uadmin -pDorisAdmin@2024
Kết quả mong đợi: Prompt thay đổi thành `mysql>` và bạn sẵn sàng nhập lệnh.
Tạo một database mới để chuẩn bị cho Phần 4. Lệnh này sẽ tạo schema trong hệ thống.
CREATE DATABASE IF NOT EXISTS doris_columnar_demo;
Lệnh này tạo database tên `doris_columnar_demo`. Nếu đã tồn tại, nó sẽ bỏ qua (IF NOT EXISTS).
Kết quả mong đợi: Thông báo "Query OK, 0 rows affected".
Chọn database vừa tạo để làm việc.
USE doris_columnar_demo;
Kết quả mong đợi: Thông báo "Database changed".
Liệt kê tất cả các database trong cụm để xác minh database mới.
SHOW DATABASES;
Kết quả mong đợi: Danh sách database bao gồm `doris_columnar_demo` cùng với các database system mặc định.
Kiểm tra cấu hình và thông tin hệ thống
Để hiểu rõ hơn về cấu hình hiện tại của cụm, hãy sử dụng các lệnh `SHOW` đặc thù của Doris.
Tại sao cần làm: Để kiểm tra các tham số toàn cục (Global Variables) và đảm bảo chúng phù hợp với phần cứng của bạn.
Kết quả mong đợi: Hiển thị các giá trị cấu hình quan trọng như số lượng phiên bản, kích thước block, v.v.
Hiển thị các biến hệ thống quan trọng.
SHOW GLOBAL VARIABLES LIKE "storage_root_path";
Lệnh này kiểm tra đường dẫn lưu trữ dữ liệu của BE. Đảm bảo nó trỏ đúng thư mục bạn đã cấu hình trong Phần 2.
Kết quả mong đợi: Output hiển thị đường dẫn đầy đủ (ví dụ: `/data1/doris/be/storage_root`).
Để thoát khỏi shell MySQL sau khi hoàn thành các thao tác.
EXIT;
Kết quả mong đợi: Prompt quay lại shell Linux (`$` hoặc `#`).
Verify kết quả CLI
Thử truy vấn lại danh sách database một lần nữa để đảm bảo session đã được lưu đúng.
mysql -h127.0.0.1 -P9030 -uadmin -pDorisAdmin@2024 -e "SHOW DATABASES;" | grep doris_columnar_demo
Kết quả mong đợi: Dòng `doris_columnar_demo` xuất hiện trong output, xác nhận database đã được tạo và tồn tại vĩnh viễn.
Điều hướng series:
Mục lục: Series: Triển khai Database Columnar với Apache Doris trên Ubuntu 24.04
« Phần 2: Tải về và cài đặt Apache Doris (FE và BE) trên Ubuntu
Phần 4: Tạo Database và Table với mô hình dữ liệu Columnar »