Bỏ qua để đến nội dung

Cài đặt OpenMetadata bằng Docker trong 15 phút

Mục tiêu: dựng một bản OpenMetadata chạy trên máy của bạn để nghịch thử — không dùng cho production. Sau bài này bạn sẽ đăng nhập được vào giao diện web và thấy sẵn dữ liệu mẫu.

Lưu ý: đây là bản cài để học/thử. Triển khai thật cho doanh nghiệp dùng Kubernetes hoặc bare-metal có tách riêng database, sẽ nói ở Bài 6.

OpenMetadata gồm nhiều thành phần chạy cùng lúc (server, database MySQL, Elasticsearch, Airflow). Cài tay từng cái rất mệt. Docker Compose cho phép khởi động tất cả bằng một lệnh — lý tưởng để thử nghiệm.

  • ☑️ Bộ nhớ cho Docker: tối thiểu 6 GiB RAM và 4 vCPU. Đây là yêu cầu quan trọng nhất — thiếu RAM là nguyên nhân lỗi số 1. Máy nên có ≥ 16 GB RAM tổng.
  • ☑️ Docker Engine phiên bản 20.10 trở lên.
  • ☑️ Docker Compose phiên bản 2.1.1 trở lên.
  • ☑️ Khoảng 10 GB dung lượng đĩa trống.

Theo hệ điều hành:

  • macOS / Windows: cài Docker Desktop (đã kèm sẵn Compose). Trên Windows cần bật WSL2.
  • Linux (Ubuntu): cài docker, docker compose, kèm python3-pippython3-venv.

Kiểm tra nhanh phiên bản:

Terminal window
docker --version
docker compose version

Chỉnh RAM cho Docker Desktop: mở Docker Desktop → Settings → Resources → kéo Memory lên ≥ 6 GB → Apply & Restart. Bỏ qua bước này là lỗi phổ biến nhất của người mới.

Terminal window
mkdir openmetadata-docker && cd openmetadata-docker

Bước 2 — Tải file docker-compose.yml từ bản phát hành chính thức

Phần tiêu đề “Bước 2 — Tải file docker-compose.yml từ bản phát hành chính thức”

Vào trang Releases của OpenMetadata để lấy số phiên bản mới nhất (ví dụ 1.13.1-release), rồi tải file compose tương ứng. Thay PHIEN_BAN bằng phiên bản bạn chọn:

Terminal window
# Ví dụ với phiên bản 1.13.1-release
curl -sL -o docker-compose.yml \
https://github.com/open-metadata/OpenMetadata/releases/download/1.13.1-release/docker-compose.yml

Có hai lựa chọn file: bản dùng MySQL (mặc định) và bản dùng PostgreSQL. Người mới cứ dùng bản mặc định.

Bước 3 — Khởi động toàn bộ dịch vụ

Phần tiêu đề “Bước 3 — Khởi động toàn bộ dịch vụ”
Terminal window
docker compose -f docker-compose.yml up --detach

Cờ --detach cho phép các container chạy nền. Lần đầu sẽ tải image nên mất vài phút (tùy mạng).

Bước 4 — Kiểm tra các container đã chạy

Phần tiêu đề “Bước 4 — Kiểm tra các container đã chạy”
Terminal window
docker ps

Bạn sẽ thấy các container như openmetadata_server, openmetadata_mysql (hoặc postgresql), openmetadata_elasticsearch, openmetadata_ingestion đang ở trạng thái Up/healthy. Chờ tới khi openmetadata_server báo healthy (thường 2–4 phút).

  • Mở trình duyệt: http://localhost:8585
  • Tài khoản mặc định:
    • Email: admin@open-metadata.org
    • Mật khẩu: admin

Ngoài ra, giao diện Airflow (để chạy các luồng ingestion) ở http://localhost:8080, tài khoản/mật khẩu mặc định admin / admin.

⚠️ Bảo mật: đây là tài khoản mặc định chỉ dùng để thử. Nếu định dùng lâu dài, hãy đổi mật khẩu và cấu hình đăng nhập thật (Google/Okta/Azure AD…) — sẽ nói ở phần triển khai doanh nghiệp.

Sau khi vào, thử gõ vài từ khóa ở thanh tìm kiếm để xem các tài sản dữ liệu mẫu mà bản cài kèm sẵn.

Terminal window
# Xem log của server (khi nghi có lỗi)
docker compose logs -f openmetadata_server
# Dừng nhưng GIỮ lại dữ liệu
docker compose stop
# Khởi động lại
docker compose start
# Xóa sạch (kể cả dữ liệu) để cài lại từ đầu
docker compose down --volumes
Triệu chứngNguyên nhân thường gặpCách xử lý
Container openmetadata_server cứ restart / không lên healthyThiếu RAM cấp cho DockerTăng Memory ≥ 6 GB trong Docker Desktop rồi docker compose up lại
Truy cập localhost:8585 báo không kết nốiServer chưa khởi động xong, hoặc Elasticsearch chưa sẵn sàngChờ thêm 2–3 phút; kiểm tra docker ps và xem log server
Elasticsearch chết ngay khi khởi độngvm.max_map_count thấp (Linux)Chạy sudo sysctl -w vm.max_map_count=262144 rồi thử lại
Cổng 8585/8080 bị chiếmỨng dụng khác đang dùng cổngTắt ứng dụng đó, hoặc sửa cổng trong docker-compose.yml
Tải image chậm/timeoutMạngThử lại; cân nhắc dùng registry mirror

Nếu bí, hãy copy 20–30 dòng log cuối của openmetadata_server và đăng lên Forum BSD (mục bên dưới) — cộng đồng gỡ nhanh hơn tự mò.

Bạn đã có bản chạy được. Bước hợp lý kế tiếp:

  1. Bài 4 — kết nối nguồn dữ liệu thật đầu tiên của bạn (một MySQL/PostgreSQL nội bộ) và chạy ingestion để kéo metadata về.
  2. Bài 5 — thử vẽ lineage, tạo bài kiểm tra chất lượng, và lập từ điển nghiệp vụ.

Docker có thể “đỏng đảnh” tùy máy. Nếu bạn kẹt ở bước nào:

👉 Đăng câu hỏi (kèm log và cấu hình máy) tại Forum BSD Insights. Càng nhiều người chia sẻ ca lỗi của mình, tài liệu càng dày và người sau càng đỡ khổ.

(Bài viết thuộc loạt “Bắt đầu với OpenMetadata” trên tài liệu BSD.)

Chia sẻ: