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.
1. Vì sao dùng Docker?
Phần tiêu đề “1. Vì sao dùng Docker?”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.
2. Yêu cầu trước khi cài (checklist)
Phần tiêu đề “2. Yêu cầu trước khi cài (checklist)”- ☑️ 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èmpython3-pipvàpython3-venv.
Kiểm tra nhanh phiên bản:
docker --versiondocker compose versionChỉ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.
3. Cài đặt từng bước
Phần tiêu đề “3. Cài đặt từng bước”Bước 1 — Tạo thư mục làm việc
Phần tiêu đề “Bước 1 — Tạo thư mục làm việc”mkdir openmetadata-docker && cd openmetadata-dockerBướ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:
# Ví dụ với phiên bản 1.13.1-releasecurl -sL -o docker-compose.yml \ https://github.com/open-metadata/OpenMetadata/releases/download/1.13.1-release/docker-compose.ymlCó 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ụ”docker compose -f docker-compose.yml up --detachCờ --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”docker psBạ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).
4. Đăng nhập lần đầu
Phần tiêu đề “4. Đăng nhập lần đầu”- 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
- Email:
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.
5. Các lệnh quản lý thường dùng
Phần tiêu đề “5. Các lệnh quản lý thường dùng”# 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ệudocker compose stop
# Khởi động lạidocker compose start
# Xóa sạch (kể cả dữ liệu) để cài lại từ đầudocker compose down --volumes6. Lỗi thường gặp & cách xử lý
Phần tiêu đề “6. Lỗi thường gặp & cách xử lý”| Triệu chứng | Nguyên nhân thường gặp | Cách xử lý |
|---|---|---|
Container openmetadata_server cứ restart / không lên healthy | Thiếu RAM cấp cho Docker | Tă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ối | Server chưa khởi động xong, hoặc Elasticsearch chưa sẵn sàng | Chờ thêm 2–3 phút; kiểm tra docker ps và xem log server |
| Elasticsearch chết ngay khi khởi động | vm.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ổng | Tắt ứng dụng đó, hoặc sửa cổng trong docker-compose.yml |
| Tải image chậm/timeout | Mạng | Thử 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_servervà đăng lên Forum BSD (mục bên dưới) — cộng đồng gỡ nhanh hơn tự mò.
7. Tiếp theo làm gì?
Phần tiêu đề “7. Tiếp theo làm gì?”Bạn đã có bản chạy được. Bước hợp lý kế tiếp:
- 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ề.
- 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ụ.
💬 Cài bị lỗi? Hỏi cộng đồng BSD
Phần tiêu đề “💬 Cài bị lỗi? Hỏi cộng đồng BSD”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.)