Môi trường tự quản của bạn có thể không trở nên phức tạp chỉ sau một đêm. Có thể nó bắt đầu với một cơ sở dữ liệu PostgreSQL duy nhất. Sau đó bạn thêm Nextcloud, Grafana, Home Assistant, MinIO hoặc một vài ứng dụng khác. Mỗi ứng dụng đều kéo theo cơ sở dữ liệu, bảng và cấu hình riêng. Bạn cũng có thể đã tạo các cơ sở dữ liệu thử nghiệm cho những thí nghiệm mà bạn chưa bao giờ dọn dẹp.
Khi môi trường phát triển, những câu hỏi đơn giản trở nên khó trả lời đến bất ngờ. Ứng dụng nào sở hữu cơ sở dữ liệu này? Schema này còn được dùng không? Có thể xóa bảng này mà không làm hỏng thứ gì khác không? Dữ liệu vẫn còn đó, nhưng ngữ cảnh đã mất.
Đó là bài toán mà metadata giải quyết. Metadata là dữ liệu mô tả dữ liệu khác. Nó ghi lại thông tin như quyền sở hữu, schema, nguồn gốc và mối quan hệ giữa các tài sản dữ liệu như bảng, dashboard và pipeline. Thay vì lần vết thủ công giữa các cơ sở dữ liệu và ứng dụng, bạn có thể tìm kiếm trong một danh mục tập trung và hiểu được dữ liệu của mình được tổ chức ra sao.
OpenMetadata là nền tảng metadata mã nguồn mở. Nó xây dựng một danh mục tập trung bằng cách thu thập metadata từ cơ sở dữ liệu, kho dữ liệu, dashboard, hệ thống nhắn tin, pipeline và các dịch vụ khác. Nó cũng theo dõi data lineage — ghi lại cách dữ liệu di chuyển giữa các hệ thống và giúp bạn hiểu các phụ thuộc trong hạ tầng của mình.
Trong hướng dẫn này, chúng ta sẽ triển khai OpenMetadata trên Ubuntu bằng Docker Compose: cấu hình các dịch vụ cần thiết, khởi động nền tảng, kết nối dịch vụ dữ liệu đầu tiên và chạy một quy trình metadata ingestion. Kết thúc hướng dẫn, bạn sẽ có một phiên bản OpenMetadata hoạt động, sẵn sàng mở rộng khi hạ tầng của bạn phát triển.
OpenMetadata là gì?
OpenMetadata là nền tảng metadata mã nguồn mở xây dựng bản đồ có thể tìm kiếm cho hệ sinh thái dữ liệu của bạn. Nó không lưu trữ dữ liệu kinh doanh. Thay vào đó, nó thu thập metadata — schema, lineage, quyền sở hữu, tài liệu, tín hiệu chất lượng dữ liệu và ngữ cảnh kinh doanh — từ cơ sở dữ liệu, kho dữ liệu, dashboard, pipeline và các hệ thống khác.
Nó tổ chức thông tin đó thành một đồ thị metadata thống nhất, giúp bạn khám phá tài sản, hiểu các phụ thuộc và quản trị dữ liệu từ một nơi duy nhất.
OpenMetadata không quản lý dữ liệu của bạn. Nó quản lý ngữ cảnh xung quanh dữ liệu của bạn.
Các cơ sở dữ liệu PostgreSQL, dashboard, pipeline và lưu trữ đối tượng của bạn vẫn hoạt động độc lập. OpenMetadata kết nối tới các hệ thống đó, trích xuất metadata và cho thấy chúng liên hệ với nhau như thế nào.
Ngữ cảnh đó giúp trả lời các câu hỏi như:
- Ai sở hữu tập dữ liệu này?
- Dashboard nào phụ thuộc vào bảng này?
- Pipeline nào tạo ra dữ liệu này?
- Tài sản hạ nguồn nào sẽ bị ảnh hưởng nếu cột này thay đổi?
Nền tảng này không thay thế các công cụ hiện có của bạn. Nó kết nối chúng qua metadata, cho bạn một góc nhìn duy nhất, có thể tìm kiếm được về toàn cảnh dữ liệu.
OpenMetadata đã phát triển vượt khỏi một data catalog truyền thống để trở thành nền tảng ngữ cảnh ngữ nghĩa cho cả con người lẫn AI.
Các phiên bản đầu của dự án tập trung chủ yếu vào quản lý metadata và quản trị. Các bản phát hành gần đây mở rộng tầm nhìn đó khi kết hợp metadata kỹ thuật, ngữ nghĩa kinh doanh, lineage, quyền sở hữu, chất lượng dữ liệu, chính sách và kiến thức tổ chức vào một đồ thị metadata thống nhất.
Nền tảng cũng có khả năng tìm kiếm ngữ nghĩa và máy chủ MCP (Model Context Protocol), cho phép trợ lý AI truy vấn metadata đã được quản trị bằng ngôn ngữ tự nhiên, đồng thời tôn trọng các mối quan hệ và ngữ cảnh được ghi lại trong danh mục.
OpenMetadata không cho bạn biết dữ liệu của bạn chứa gì. Nó cho bạn biết dữ liệu của bạn có ý nghĩa gì, đến từ đâu, ai sở hữu và cái gì phụ thuộc vào nó.
OpenMetadata thực sự làm gì?
OpenMetadata không lưu trữ dữ liệu ứng dụng của bạn. Nó lưu trữ metadata — thông tin về các tài sản dữ liệu — và tạo một danh mục metadata tập trung giúp bạn khám phá cũng như hiểu các tài sản đó từ một nơi.
Danh mục có thể gồm metadata của cơ sở dữ liệu, bảng, dashboard, pipeline, chủ đề nhắn tin, mô hình máy học và các dịch vụ được hỗ trợ khác. Với mỗi tài sản, OpenMetadata ghi lại schema, chủ sở hữu, mô tả, thẻ và mối quan hệ với các tài sản khác.
Thông tin này được thu thập qua metadata ingestion — quá trình dùng connector và workflow để trích xuất metadata từ dịch vụ của bạn và đưa vào danh mục. Dữ liệu ứng dụng vẫn nằm nguyên trong cơ sở dữ liệu hoặc dịch vụ gốc; OpenMetadata chỉ thu thập phần metadata cần thiết để mô tả và tổ chức các tài sản đó.
Lợi ích trở nên rõ ràng khi bạn cần trả lời các câu hỏi hằng ngày. Bảng nào lưu đơn hàng của khách hàng? Dashboard nào dùng bảng này? Đổi tên một cột có an toàn không? Thay vì mở nhiều hệ thống để kiểm tra, bạn tìm trong danh mục và xem mối quan hệ giữa các tài sản.
OpenMetadata cũng ghi lại data lineage. Lineage cho thấy các phụ thuộc thượng nguồn và hạ nguồn giữa các tài sản như bảng, pipeline và dashboard, giúp bạn hiểu dữ liệu chảy qua môi trường ra sao và xác định tác động của thay đổi trước khi chúng chạm tới production.
OpenMetadata thiên về giúp bạn hiểu dữ liệu hơn là lưu trữ dữ liệu.
Tại sao chọn OpenMetadata?
Có nhiều nền tảng metadata mã nguồn mở. OpenMetadata, DataHub, Apache Atlas và Amundsen đều giúp khám phá và hiểu dữ liệu của bạn. Chúng chung mục tiêu nhưng khác nhau về kiến trúc, cách triển khai và trọng tâm tính năng.
Hướng dẫn này dùng OpenMetadata vì nó được tài liệu hóa tốt, có bộ triển khai Docker Compose chính thức và hỗ trợ nhiều loại dịch vụ qua các connector metadata tích hợp sẵn. Nó cũng gộp quản lý metadata, lineage, tài liệu và quản trị vào một nền tảng duy nhất — lựa chọn thực tế cho môi trường tự quản.
Các dự án còn lại cũng chín muồi và được bảo trì tích cực. Nếu bạn đã dùng DataHub, Apache Atlas hoặc Amundsen, không có lý do kỹ thuật nào để chuyển đổi.
Các bước triển khai trong hướng dẫn này tập trung vào OpenMetadata vì nó là điểm khởi đầu đơn giản cho người muốn xây dựng danh mục metadata tự quản.
Tự quản OpenMetadata có phù hợp với bạn không?
OpenMetadata là lựa chọn tốt cho các nhóm ưa thích phần mềm mã nguồn mở và muốn kiểm soát hoàn toàn hạ tầng của họ. Nó đặc biệt phù hợp với startup, doanh nghiệp vừa và nhỏ, và các nhóm kỹ thuật đã quen quản lý máy chủ Linux, Docker hoặc Kubernetes.
Tuy nhiên, các tổ chức lớn hơn thường đã có khung quản trị dữ liệu, yêu cầu tuân thủ và đội ngũ dữ liệu chuyên trách. Trong môi trường đó, triển khai nền tảng metadata chỉ là một phần của sáng kiến quản trị rộng hơn, bao gồm chính sách, quyền sở hữu và quy trình vận hành.
Nếu tổ chức của bạn đang xây dựng hoặc mở rộng chương trình quản trị dữ liệu chính thức, chuyên gia bên ngoài có thể giúp định hình các quy trình đó và tránh những cạm bẫy triển khai phổ biến. Hãy tự nghiên cứu để tìm dịch vụ thương mại đáng tin cậy tập trung vào chiến lược quản trị, mô hình sở hữu, tuân thủ, chất lượng dữ liệu, quản lý metadata và quy trình tổ chức — bổ sung cho các nền tảng như OpenMetadata thay vì thay thế chúng.
Với nhóm muốn theo hướng mã nguồn mở, tự quản (self-managed), phần còn lại của hướng dẫn này sẽ đưa bạn qua từng bước triển khai OpenMetadata trên Ubuntu Linux bằng Docker Compose.
Bạn cần gì trước khi bắt đầu?
OpenMetadata gồm nhiều dịch vụ phối hợp với nhau. OpenMetadata Server lưu metadata trong cơ sở dữ liệu backend như PostgreSQL. Nó dùng Elasticsearch hoặc OpenSearch để lập chỉ mục metadata phục vụ tìm kiếm nhanh.
Metadata ingestion theo lịch được xử lý bởi một dịch vụ ingestion riêng, chạy các workflow thu thập metadata từ cơ sở dữ liệu, dashboard, pipeline và các dịch vụ được hỗ trợ khác. Docker Compose cho phép bạn triển khai tất cả các thành phần này cùng nhau.
Trong hướng dẫn này, chúng tôi dùng Ubuntu 26.04 LTS với cấu hình sau:
Công cụ tìm kiếm là thành phần hay gây bất ngờ cho người dùng lần đầu. Nó duy trì các chỉ mục để tìm kiếm metadata nhanh, nhưng việc lập chỉ mục cũng làm tăng mức sử dụng bộ nhớ. Trên hệ thống RAM hạn chế, Elasticsearch hoặc OpenSearch thường là dịch vụ đầu tiên chịu áp lực tài nguyên. Triển khai production thường cần CPU, bộ nhớ và lưu trữ lớn hơn đáng kể so với một môi trường đánh giá nhỏ.
Nếu hệ thống của bạn đáp ứng các yêu cầu này, bạn đã sẵn sàng để triển khai OpenMetadata bằng Docker Compose.
Cài đặt OpenMetadata với Docker Compose trên Ubuntu 26.04 LTS
Chúng ta có thể triển khai OpenMetaData dễ dàng và nhanh chóng bằng Docker và Docker Compose trên Linux.
1. Cài đặt Docker Engine và Docker Compose
Xóa các gói xung đột trước khi cài đặt:
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc | cut -f1)
Thiết lập kho apt của Docker:
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
sudo tee /etc/apt/sources.list.d/docker.sources <<INNERDOC
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
INNERDOC
sudo apt update
Cài đặt Docker Engine:
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Xác nhận daemon đang chạy:
sudo systemctl status docker
Nếu nó chưa chạy, hãy khởi động:
sudo systemctl start docker
Chạy Docker không cần sudo:
sudo usermod -aG docker $USER
newgrp docker
Đăng xuất rồi đăng nhập lại để các thay đổi có hiệu lực.
2. Tạo thư mục làm việc
Hãy tạo một thư mục riêng cho việc triển khai OpenMetadata.
Thư mục này sẽ chứa tệp Docker Compose và các tệp triển khai liên quan. Gom mọi thứ vào một nơi giúp việc nâng cấp, sao lưu và khắc phục sự cố dễ dàng hơn.
Chạy các lệnh sau:
mkdir openmetadata-docker
cd openmetadata-docker
Tài liệu chính thức của OpenMetadata dùng tên thư mục openmetadata-docker, nhưng bạn có thể chọn tên khác. Nhiều quản trị viên Linux cũng đặt các dự án Docker Compose ở vị trí chuyên dụng như ~/docker hoặc /opt để giữ các dịch vụ ngăn nắp.
Docker Compose chạy từ thư mục làm việc hiện tại trừ khi bạn chỉ định rõ một tệp Compose khác. Vì vậy, hãy chạy mọi lệnh còn lại trong hướng dẫn này từ thư mục đó.
3. Tải xuống các tệp Docker Compose chính thức
Bước tiếp theo là tải tệp Docker Compose do dự án OpenMetadata duy trì.
Tệp Docker Compose định nghĩa các container, mạng, volume, cổng và biến môi trường cần để chạy ứng dụng. Dùng tệp Compose chính thức giúp triển khai của bạn khớp với bản phát hành OpenMetadata hiện tại và làm cho việc nâng cấp sau này dễ dàng hơn nhiều.
Hướng dẫn này dùng PostgreSQL, vì vậy hãy tải tệp docker-compose-postgres.yml từ bản phát hành OpenMetadata mới nhất. Truy cập trang OpenMetadata GitHub Releases để xác định thẻ phát hành mới nhất, rồi tải tệp Compose tương ứng.
curl -LO https://github.com/open-metadata/OpenMetadata/releases/download/<release>/docker-compose-postgres.yml
Thay <release> bằng thẻ phát hành mới nhất trước khi chạy lệnh. Tại thời điểm viết bài này, phiên bản mới nhất là 1.13.3. Hãy thay phiên bản đó trong URL.
curl -LO https://github.com/open-metadata/OpenMetadata/releases/download/1.13.3-release/docker-compose-postgres.yml
Sau khi tải xong, hãy xác nhận tệp đã có mặt:
ls -l
Bạn sẽ thấy tệp docker-compose-postgres.yml trong thư mục làm việc. Chưa khởi động triển khai vội — phần tiếp theo sẽ xem qua tệp Compose và hiểu từng dịch vụ trước khi bật container.
4. Hiểu Docker Compose sẽ triển khai những gì
Trước khi khởi động container, hãy hiểu cách chúng phối hợp với nhau. OpenMetadata không phải là một ứng dụng đơn lẻ; nó gồm nhiều dịch vụ, mỗi dịch vụ đảm nhiệm một phần của nền tảng.
Triển khai Quick Start bao gồm các container sau:
Lưu ý: Triển khai Quick Start dùng Elasticsearch theo mặc định. Triển khai production có thể dùng Elasticsearch hoặc OpenSearch làm công cụ tìm kiếm.
Docker Compose cũng tạo một mạng riêng để các container giao tiếp với nhau, đồng thời tạo các volume Docker có tên cho các dịch vụ có trạng thái, giúp metadata của bạn tồn tại qua các lần khởi động lại container và nâng cấp.
Kiến trúc tổng thể như sau:
Supported Services
Databases • Dashboards • Pipelines • Messaging
│
▼
OpenMetadata Ingestion
(Metadata Ingestion Workflows)
│
▼
OpenMetadata Server
Web UI • REST API
│ │
▼ ▼
PostgreSQL Elasticsearch
(Search Index)
Metadata luôn đi qua OpenMetadata Server. Dịch vụ ingestion trích xuất metadata từ các dịch vụ được hỗ trợ và gửi về máy chủ; máy chủ lưu chúng trong PostgreSQL và lập chỉ mục trong Elasticsearch để bạn tìm kiếm và khám phá qua giao diện web.
Tin tốt là bạn không cần quản lý từng container. Docker Compose tự tạo mạng, cấp phát các volume cần thiết và khởi động từng dịch vụ với cấu hình chính xác. Từ góc nhìn của bạn, toàn bộ nền tảng hoạt động như một ứng dụng duy nhất.
5. Xem xét cấu hình
Trước khi khởi động triển khai, hãy dành vài phút xem qua tệp Compose. Bạn không cần hiểu từng dòng, nhưng một cái nhìn tổng quan nhanh sẽ giúp bạn nhận ra cách triển khai được tổ chức.
Mở tệp bằng trình soạn thảo ưa thích:
nano docker-compose-postgres.yml
Bạn sẽ thấy các phần quen thuộc:
Với lần triển khai đầu tiên, hãy giữ nguyên cấu hình. Quick Start chính thức được thiết kế để chạy với cài đặt mặc định, là cách dễ nhất để xác minh cài đặt của bạn hoạt động đúng (docs.open-metadata.org).
Khi triển khai đã chạy, bạn có thể quay lại tệp này để chỉnh cổng, lưu trữ, xác thực hoặc các cài đặt khác cho phù hợp với môi trường của bạn.
Phần tiếp theo giải thích cách Docker lưu trữ dữ liệu của OpenMetadata và vì sao các volume mặc định quan trọng.
6. Hiểu về lưu trữ bền vững
Container Docker là tạm thời. Metadata của bạn thì không.
Khi một container được tạo lại, mọi thứ bên trong container đều bị thay thế. Để tránh mất dữ liệu, OpenMetadata lưu dữ liệu bền vững bên ngoài container. Nhờ đó bạn có thể khởi động lại, cập nhật hoặc tạo lại container mà không phải xây dựng lại danh mục metadata của mình.
Triển khai Quick Start duy trì dữ liệu cho các dịch vụ có trạng thái của nó.
Docker Compose tự động gắn lại các container mới vào lưu trữ hiện có. Chừng nào lưu trữ bền vững còn nguyên vẹn, metadata của bạn vẫn được giữ qua các lần khởi động lại container và nâng cấp.
Các lệnh đáng nhớ:
docker compose stopdừng các container nhưng giữ toàn bộ dữ liệu bền vững.docker compose startkhởi động lại các container hiện có và tiếp tục dùng cùng dữ liệu.docker compose downgỡ các container và mạng nhưng giữ nguyên dữ liệu bền vững.docker compose down --volumescũng xóa luôn các volume liên quan, xóa vĩnh viễn dữ liệu đã lưu.
Nếu dự định dùng OpenMetadata lâu dài, hãy đưa lưu trữ bền vững vào chiến lược sao lưu của bạn. Container rất dễ tạo lại; metadata của bạn thì không.
Bước tiếp theo là khởi động triển khai và để Docker Compose tự tạo các container và lưu trữ.
7. Khởi động triển khai
Bây giờ bạn đã sẵn sàng khởi chạy stack OpenMetadata.
Lệnh docker compose up đọc tệp Compose, tạo các tài nguyên Docker cần thiết và khởi động các dịch vụ được định nghĩa trong triển khai.
Trong lần chạy đầu tiên, Docker phải tải các image container nên việc triển khai có thể mất vài phút, tùy vào kết nối mạng và hiệu suất hệ thống.
Khởi động triển khai:
docker compose -f docker-compose-postgres.yml up -d
Các tùy chọn của lệnh khá đơn giản:
Trong lần triển khai đầu tiên, Docker Compose thường sẽ:
- Tải các image container cần thiết.
- Tạo các mạng và volume được khai báo trong tệp Compose nếu chúng chưa tồn tại.
- Khởi động các dịch vụ OpenMetadata.
Các lần sau thường nhanh hơn nhiều vì Docker tái sử dụng image đã có trên hệ thống.
Đừng lo nếu lệnh trả về ngay lập tức. Docker Compose thoát sau khi khởi động các container, nhưng các dịch vụ vẫn tiếp tục khởi tạo trong nền. Một số thành phần — đặc biệt là PostgreSQL và Elasticsearch — cần thêm thời gian trước khi sẵn sàng nhận kết nối.
Bước tiếp theo là xác minh mọi dịch vụ khởi động thành công trước khi mở giao diện web OpenMetadata.
8. Xác minh triển khai
Trước khi mở giao diện web, hãy xác nhận mọi dịch vụ đã chạy thành công. Một container có thể ở trạng thái running trong khi ứng dụng bên trong vẫn đang khởi tạo, nên việc xác minh trước khi tiếp tục là đáng giá.
Bắt đầu bằng cách kiểm tra trạng thái các dịch vụ:
docker compose -f docker-compose-postgres.yml ps
Bạn sẽ thấy tất cả dịch vụ ở trạng thái running (up). Tùy phiên bản Docker Compose và định nghĩa dịch vụ, một số container có thể báo trạng thái healthy sau khi vượt qua health check:
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
openmetadata_elasticsearch docker.elastic.co/elasticsearch/elasticsearch:9.3.0 "/bin/tini -- /usr/l…" elasticsearch 3 minutes ago Up 3 minutes (healthy) 0.0.0.0:9200->9200/tcp, [::]:9200->9200/tcp, 0.0.0.0:9300->9300/tcp, [::]:9300->9300/tcp
openmetadata_ingestion docker.getcollate.io/openmetadata/ingestion:1.13.3 "/bin/bash /opt/airf…" ingestion 3 minutes ago Up About a minute 0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp
openmetadata_postgresql docker.getcollate.io/openmetadata/postgresql:1.13.3 "docker-entrypoint.s…" postgresql 3 minutes ago Up 3 minutes (healthy) 0.0.0.0:5432->5432/tcp, [::]:5432->5432/tcp
openmetadata_server docker.getcollate.io/openmetadata/server:1.13.3 "/bin/bash /openmeta…" openmetadata-server 3 minutes ago Up About a minute (health: starting) 0.0.0.0:8585-8586->8585-8586/tcp, [::]:8585-8586->8585-8586/tcp
Nếu một dịch vụ không chạy hoặc cứ khởi động lại, hãy xem nhật ký của nó:
docker compose -f docker-compose-postgres.yml logs -f <service-name>
Thay <service-name> bằng tên dịch vụ bạn muốn kiểm tra. Xem nhật ký theo thời gian thực thường là cách nhanh nhất để phát hiện lỗi cấu hình, thiếu phụ thuộc hoặc lỗi khởi động.
Hãy nhớ rằng khởi động container khác với sẵn sàng ứng dụng. Các dịch vụ như PostgreSQL và Elasticsearch có thể start nhanh trong khi OpenMetadata vẫn đang khởi tạo phía sau. Hãy cho triển khai một hoặc hai phút để hoàn tất trước khi mở giao diện web.
Khi mọi dịch vụ chạy không lỗi, bạn đã sẵn sàng truy cập giao diện web OpenMetadata.
9. Đăng nhập vào OpenMetadata
Bước cuối là xác nhận triển khai hoàn tất thành công.
Mở trình duyệt web và điều hướng tới:
http://localhost:8585
Nếu OpenMetadata chạy trên máy chủ từ xa, hãy thay localhost bằng địa chỉ IP hoặc hostname của máy chủ.
Khi trang đăng nhập hiện ra, hãy đăng nhập bằng tài khoản quản trị mặc định:
Đây là thông tin đăng nhập mặc định do triển khai Quick Start chính thức cung cấp.
Sau khi đăng nhập, bạn sẽ thấy dashboard OpenMetadata. Danh mục trống là bình thường — OpenMetadata chỉ hiển thị metadata sau khi bạn kết nối một hoặc nhiều dịch vụ dữ liệu được hỗ trợ và chạy workflow ingestion.
Nếu trang đăng nhập không tải, hãy đợi thêm một phút và lặp lại các bước xác minh ở phần trước. Một số dịch vụ, nhất là Elasticsearch, có thể vẫn đang hoàn tất khởi tạo.
Triển khai OpenMetadata của bạn đã sẵn sàng. Bước tiếp theo là kết nối dịch vụ dữ liệu đầu tiên và bắt đầu ingestion metadata.
Mẹo bảo mật: Tài khoản quản trị mặc định chỉ dành cho việc đánh giá và thử nghiệm. Nếu bạn giữ triển khai này, hãy tạo tài khoản quản trị riêng và thay thế hoặc gỡ tài khoản mặc định trong lần thiết lập ban đầu.
10. Đăng nhập vào Apache Airflow
Giao diện web OpenMetadata là nơi bạn tạo và quản lý các workflow ingestion metadata. Trong triển khai Docker Compose mặc định, các workflow đó được thực thi bởi Apache Airflow — backend điều phối. Khi bạn triển khai một workflow ingestion từ giao diện OpenMetadata, nền tảng sẽ giao tiếp với Airflow để tạo, lên lịch và giám sát workflow tương ứng.
Mở trình duyệt và truy cập URL sau để mở giao diện web Airflow:
http://<server-ip>:8080
Nếu OpenMetadata chạy trên máy cục bộ, dùng:
http://localhost:8080
Tên người dùng và mật khẩu mặc định của giao diện web Airflow là admin/admin.
Nếu bạn đã đổi các biến môi trường AIRFLOW_ADMIN_USER hoặc AIRFLOW_ADMIN_PASSWORD trước khi triển khai, hãy dùng thông tin đăng nhập đó.
Sau khi đăng nhập, hãy xác nhận:
- Dashboard Airflow tải thành công.
- Trang DAGs truy cập được.
- Các DAG mẫu đã xuất hiện.
Các DAG mẫu đi kèm triển khai Quick Start để minh họa cách Airflow điều phối workflow. Chúng cũng xác nhận phiên bản Airflow đã khởi tạo thành công.
11. Tải dữ liệu mẫu vào OpenMetaData qua Airflow
Trong Airflow, bạn sẽ thấy vài DAG mẫu dùng để nạp dữ liệu mẫu và làm ví dụ.
Để nhập dữ liệu mẫu, vào phần DAGs trên dashboard Airflow và nhấn nút Play bên cạnh DAG sample_data. Thao tác này sẽ tải và nạp bộ dữ liệu mẫu được đóng gói sẵn vào OpenMetaData.
Giờ quay lại dashboard OpenMetaData của bạn để kiểm tra dữ liệu mẫu đã được nhập.
Như bạn thấy, có một cơ sở dữ liệu mô phỏng chứa schema liên quan tới doanh số Shopify.
Hãy khám phá các tùy chọn trong cả OpenMetaData lẫn Airflow để làm quen. Với nhu cầu cơ bản, hướng dẫn bắt đầu là đủ. Để tìm hiểu sâu hơn, chúng tôi khuyên bạn đọc Admin và Data user guides bên dưới:
12. Khắc phục sự cố
Nếu không truy cập được giao diện web Airflow, hãy kiểm tra container Airflow có đang chạy không:
docker ps
Nếu container Airflow bị thiếu hoặc liên tục khởi động lại, hãy xem nhật ký của nó:
docker logs <airflow-container-name>
Nếu giao diện Airflow truy cập được nhưng workflow ingestion không xuất hiện sau khi triển khai, hãy xem nhật ký Airflow và nhật ký máy chủ OpenMetadata để tìm lỗi. Vì Airflow chịu trách nhiệm triển khai và thực thi các workflow ingestion trong Docker Compose Quick Start, lỗi thường phản ánh ở một hoặc cả hai dịch vụ này.
Các tính năng thực sự quan trọng
OpenMetadata có nhiều khả năng, nhưng bạn không cần tất cả ngay từ ngày đầu. Các tính năng mang lại giá trị nhiều nhất là những tính năng giúp bạn tìm và hiểu dữ liệu nhanh hơn.
1. Tìm kiếm nhanh
Tìm kiếm là tính năng bạn có thể sẽ dùng nhiều nhất.
Khi môi trường phát triển, việc nhớ một bảng nằm ở đâu trở nên khó khăn. Bạn có thể nhớ một phần tên, tên cột hoặc mô tả, nhưng không nhớ cơ sở dữ liệu chứa nó.
OpenMetadata lập chỉ mục metadata để bạn tìm kiếm trên cơ sở dữ liệu, bảng, view, dashboard, pipeline, thuật ngữ từ điển, thẻ, người dùng, nhóm và các tài sản được hỗ trợ khác từ một giao diện duy nhất. Bạn cũng có thể thu hẹp kết quả bằng các bộ lọc như loại tài sản, dịch vụ, chủ sở hữu hoặc thẻ.
Điều đó nghĩa là ít thời gian duyệt cơ sở dữ liệu hơn và nhiều thời gian tìm thông tin bạn cần hơn.
2. Tổ chức metadata bằng thẻ
Tìm được một tài sản mới chỉ là bước đầu. Bạn cũng cần cách tổ chức nó.
Thẻ cho phép bạn phân loại tài sản bằng các nhãn phù hợp với môi trường của mình. Ví dụ: bạn có thể gắn thẻ hệ thống production, tập dữ liệu lưu trữ hoặc tài sản chứa thông tin nhận dạng cá nhân (PII).
Vì thẻ được lập chỉ mục, chúng cũng cải thiện tìm kiếm và giúp nhóm các tài sản liên quan dễ dàng hơn mà không cần thay đổi cơ sở dữ liệu bên dưới.
3. Hiểu các phụ thuộc
Tìm được một bảng mới chỉ là bước đầu. Trước khi thay đổi nó, bạn cần hiểu cái gì phụ thuộc vào nó.
Data lineage ghi lại các mối quan hệ giữa tài sản dữ liệu. Nó cho thấy dữ liệu đến từ đâu, di chuyển qua pipeline ra sao, và những bảng, dashboard hoặc tài sản hạ nguồn nào phụ thuộc vào nó. OpenMetadata hỗ trợ cả lineage cấp bảng (table-level) lẫn cấp cột (column-level), giúp bạn thấy rõ hơn các thay đổi chảy qua môi trường của mình.
Ngữ cảnh đó làm cho phân tích tác động dễ dàng hơn nhiều. Trước khi đổi tên một cột, sửa một bảng hoặc ngừng một pipeline, bạn có thể xác định các tài sản hạ nguồn có thể bị ảnh hưởng. Thay vì phát hiện vấn đề sau khi triển khai, bạn có thể điều tra trước khi thực hiện thay đổi.
OpenMetadata cũng cho phép bạn chỉ định chủ sở hữu cho tài sản. Quyền sở hữu giúp mỗi tập dữ liệu, dashboard hoặc pipeline có một đầu mối liên hệ rõ ràng. Khi có câu hỏi hoặc cần phê duyệt thay đổi, bạn biết phải hỏi ai thay vì lục tìm trong mã nguồn hay lịch sử trò chuyện nội bộ.
4. Ghi lại những gì quan trọng
Mọi hệ thống vận hành lâu dài đều tích lũy kiến thức chỉ tồn tại trong trí nhớ của ai đó.
OpenMetadata cho phép bạn thêm mô tả vào cơ sở dữ liệu, schema, bảng, cột, dashboard, pipeline và các tài sản khác. Những mô tả đó trở thành một phần của danh mục metadata và xuất hiện trong kết quả tìm kiếm, giúp người khác hiểu một tài sản dùng để làm gì và vì sao nó tồn tại.
Tài liệu tốt nhất thường là đơn giản nhất. Một mô tả ngắn giải thích mục đích của bảng hoặc ý nghĩa của cột có thể cứu ai đó khỏi việc đọc mã ứng dụng hoặc thiết kế ngược schema.
Cùng với nhau, tìm kiếm, thẻ và tài liệu giải quyết một vấn đề phổ biến: làm cho dữ liệu của bạn dễ khám phá hơn, dễ hiểu hơn và dễ duy trì hơn.
5. Ngăn ngừa sai lầm
Hầu hết các vấn đề production bắt nguồn từ việc thiếu ngữ cảnh chứ không phải thiếu dữ liệu.
Một bảng không có mô tả buộc người dùng phải đoán mục đích của nó. Một thuật ngữ kinh doanh không có định nghĩa chung có thể dẫn tới các báo cáo không nhất quán. Một tập dữ liệu chưa được cập nhật gần đây vẫn có thể trông đáng tin cậy ngay cả khi nó không còn phù hợp cho việc ra quyết định (decision-making).
OpenMetadata giúp giảm sự không chắc chắn đó.
Mô tả giải thích mục đích của tài sản. Business Glossary cung cấp cho các thuật ngữ kinh doanh một định nghĩa chung để mọi người dùng cùng một ngôn ngữ. Freshness và các tín hiệu độ tin cậy khác giúp bạn hiểu liệu một tập dữ liệu có đủ mới để tin cậy trước khi dùng hay không.
Các tính năng này không tự động ngăn ngừa sai lầm. Chúng giúp mọi người đưa ra quyết định sáng suốt bằng cách cung cấp ngữ cảnh mà riêng cơ sở dữ liệu không thể cho thấy.
6. Giúp ích cho tương lai của bạn
Lợi ích lớn nhất của một danh mục metadata thường xuất hiện nhiều tháng sau khi cài đặt. Sáu tháng nữa, bạn có thể không nhớ vì sao một bảng tồn tại, ai tạo ra nó hoặc dashboard nào phụ thuộc vào nó. Thành viên mới trong nhóm gần như chắc chắn sẽ không biết.
OpenMetadata bảo toàn kiến thức đó ngay cạnh các tài sản.
Thay vì tái tạo thông tin từ tập lệnh SQL, lịch sử Git, ticket và tin nhắn trò chuyện, bạn có thể tìm trong danh mục, xem mô tả, kiểm tra lineage, xác định chủ sở hữu và hiểu một tài sản khớp vào phần còn lại của môi trường ra sao.
Điều này cũng cải thiện khả năng phục hồi sau thảm họa. Khôi phục một cơ sở dữ liệu chỉ là một phần của quá trình; bạn cũng cần hiểu cơ sở dữ liệu đó kết nối với ứng dụng, pipeline, dashboard và các hệ thống khác như thế nào. Một danh mục metadata bảo toàn ngữ cảnh vận hành đó.
Bạn sử dụng OpenMetadata càng lâu, nó càng trở nên có giá trị. Mỗi mô tả, chỉ định chủ sở hữu, thuật ngữ từ điển và mối quan hệ lineage đều ghi lại kiến thức không còn phải nằm trong trí nhớ của ai đó. Theo thời gian, kiến thức dùng chung đó trở nên có giá trị ngang chính dữ liệu.
Những sai lầm phổ biến cần tránh
Cài đặt OpenMetadata chỉ mất vài phút. Xây dựng một danh mục chính xác và đáng tin cậy đòi hỏi bảo trì nhất quán.
Hãy coi danh mục như một phần hạ tầng của bạn thay vì một triển khai một lần. Thời gian đầu tư cho quyền sở hữu, tài liệu, sao lưu và ingestion định kỳ sẽ tự trả giá khi môi trường của bạn phát triển.
Nếu tôi thiết lập một phiên bản mới ngay hôm nay, đây là những sai lầm tôi sẽ tránh.
1. Kết nối mọi nguồn dữ liệu ngay lập tức
Thật hấp dẫn khi kết nối mọi cơ sở dữ liệu ngay khi nền tảng vừa chạy.
Hãy bắt đầu với một hoặc hai hệ thống quan trọng.
Học cách vận hành của dịch vụ, workflow ingestion, quyền sở hữu và tài liệu trước khi mở rộng danh mục. Một danh mục nhỏ với metadata chính xác có giá trị hơn một danh mục lớn chứa đầy thông tin không đầy đủ.
2. Để quyền sở hữu cho sau này
Quyền sở hữu rất dễ trì hoãn vì nền tảng vẫn chạy mà không cần nó.
Điều đó thường trở thành vấn đề về sau.
Khi một tập dữ liệu không có chủ sở hữu, các câu hỏi đơn giản trở nên khó trả lời. Không ai biết ai duy trì nó, ai nên phê duyệt thay đổi, hoặc liên hệ với ai khi có gì đó trông bất thường.
Chỉ định chủ sở hữu ngay khi bạn thêm tài sản mới. Việc đó dễ hơn nhiều so với ghi chép lại mọi thứ nhiều tháng sau.
3. Bỏ qua sao lưu
Theo thời gian, danh mục metadata của bạn trở thành một kho kiến thức có giá trị.
Mô tả, quyền sở hữu, thuật ngữ từ điển và các metadata khác thường là kết quả của công việc không thể tái tạo nhanh chóng. Hãy đưa cơ sở dữ liệu metadata của OpenMetadata vào chiến lược sao lưu định kỳ để có thể khôi phục thông tin đó khi có sự cố. Chỉ mục tìm kiếm có thể được xây dựng lại từ metadata đã lưu nếu cần.
4. Chạy mà không có HTTPS
Docker Compose Quick Start được thiết kế cho mục đích đánh giá.
Nếu người khác sẽ truy cập phiên bản OpenMetadata của bạn, hãy đặt nó sau một reverse proxy và bật HTTPS trước khi sử dụng trong môi trường dùng chung. Mã hóa lưu lượng bảo vệ thông tin đăng nhập và metadata, đồng thời tuân theo các thực hành bảo mật production tiêu chuẩn.
5. Quên lên lịch và giám sát metadata ingestion
Một danh mục metadata chỉ hữu ích nếu nó phản ánh môi trường hiện tại của bạn.
Hãy lên lịch các workflow ingestion chạy định kỳ và kiểm tra chúng tiếp tục thành công. Các công việc ingestion thất bại có thể làm danh mục lỗi thời ngay cả khi máy chủ OpenMetadata vẫn chạy bình thường.
6. Đánh giá thấp yêu cầu hạ tầng
OpenMetadata chỉ là một phần của triển khai.
Cơ sở dữ liệu metadata, công cụ tìm kiếm và dịch vụ ingestion cũng cần tài nguyên riêng. Khi danh mục phát triển, việc lập chỉ mục tìm kiếm càng đòi hỏi nhiều hơn, vì vậy hãy lên kế hoạch dung lượng cho toàn bộ stack thay vì chỉ tính riêng ứng dụng OpenMetadata. Hướng dẫn production chính thức có các khuyến nghị tài nguyên riêng cho máy chủ, cơ sở dữ liệu, công cụ tìm kiếm và thành phần ingestion.
Chạy OpenMetadata lâu dài
Triển khai OpenMetadata chỉ mất vài phút. Giữ cho nó đáng tin cậy đòi hỏi bảo trì liên tục.
Khi danh mục của bạn phát triển, nó trở thành một phần hạ tầng. Hãy đối xử với nó như bất kỳ dịch vụ production nào khác: cập nhật thường xuyên, bảo vệ dữ liệu, giám sát sức khỏe và lên kế hoạch tăng trưởng.
1. Giữ nền tảng được cập nhật
OpenMetadata phát hành các phiên bản mới với bản sửa lỗi, cập nhật bảo mật, cải tiến connector và tính năng mới.
Trước khi nâng cấp, hãy đọc ghi chú phát hành và xác nhận triển khai của bạn đáp ứng các yêu cầu phiên bản được hỗ trợ.
Luôn sao lưu cơ sở dữ liệu metadata trước, vì OpenMetadata thực hiện di trú schema trong các lần nâng cấp.
Sau khi nâng cấp, hãy thực hiện các tác vụ hậu nâng cấp nếu ghi chú phát hành yêu cầu, chẳng hạn như xây dựng lại chỉ mục tìm kiếm hoặc triển khai lại pipeline ingestion.
Nếu có thể, hãy thử nâng cấp trong môi trường không phải production trước khi áp dụng cho triển khai chính.
2. Bảo vệ metadata của bạn
Container là tạm thời. Metadata của bạn thì không.
Các volume Docker bền vững đảm bảo dữ liệu sống sót qua các lần khởi động lại và tạo lại container, nhưng chúng không thay thế sao lưu. Hãy đưa cơ sở dữ liệu metadata vào chiến lược sao lưu định kỳ để có thể khôi phục danh mục sau sự cố phần cứng, xóa nhầm hoặc nâng cấp thất bại.
Cơ sở dữ liệu metadata là nguồn sự thật. Nó lưu danh mục, mô tả, quyền sở hữu, thuật ngữ từ điển, lineage và các thông tin quản trị khác của bạn. Chỉ mục tìm kiếm chủ yếu hỗ trợ khám phá và thường có thể được xây dựng lại từ metadata trong cơ sở dữ liệu.
3. Giám sát toàn bộ stack
Một container đang chạy không phải lúc nào cũng nghĩa là triển khai khỏe mạnh.
Hãy giám sát máy chủ OpenMetadata, cơ sở dữ liệu metadata, công cụ tìm kiếm và dịch vụ ingestion.
Xem xét các workflow ingestion đã lên lịch thường xuyên để xác nhận chúng vẫn hoàn thành thành công. Một workflow ingestion thất bại có thể làm danh mục lỗi thời ngay cả khi giao diện web vẫn hoạt động bình thường.
Cũng theo dõi mức sử dụng CPU, bộ nhớ, dung lượng đĩa và nhật ký ứng dụng. Các vấn đề nhỏ dễ xử lý hơn nhiều trước khi chúng ảnh hưởng đến người dùng.
4. Bảo mật quyền truy cập
Docker Compose Quick Start dành cho mục đích đánh giá.
Với triển khai lâu dài, hãy đặt OpenMetadata sau một reverse proxy như Nginx, Apache HTTP Server hoặc Traefik.
Kết thúc HTTPS tại reverse proxy bằng chứng chỉ TLS đáng tin cậy và chỉ mở các dịch vụ thực sự cần truy cập công khai. Tài liệu chính thức có ví dụ cấu hình reverse proxy Nginx.
Nếu máy chủ truy cập được qua internet, hãy giữ hệ điều hành được cập nhật, bảo mật SSH và bật tường lửa để giới hạn lưu lượng vào.
5. Lên kế hoạch tăng trưởng
Yêu cầu tài nguyên tăng lên khi môi trường của bạn mở rộng.
Máy chủ OpenMetadata, cơ sở dữ liệu metadata, công cụ tìm kiếm và dịch vụ ingestion đều tiêu thụ CPU, bộ nhớ và lưu trữ. Khi bạn kết nối thêm nguồn dữ liệu, khối lượng ingestion tăng và chỉ mục tìm kiếm lớn dần. Hãy theo dõi mức sử dụng tài nguyên theo thời gian và mở rộng toàn bộ stack, không chỉ riêng máy chủ OpenMetadata.
Nếu dự định dùng production lâu dài, hãy cân nhắc chuyển từ các dịch vụ Quick Start đóng gói sẵn sang PostgreSQL/MySQL được quản lý hoặc chuyên dụng, Elasticsearch/OpenSearch, và dịch vụ ingestion bên ngoài theo khuyến nghị của hướng dẫn triển khai chính thức.
OpenMetadata trở nên có giá trị hơn khi nó tích lũy kiến thức về môi trường của bạn. Các bản nâng cấp đều đặn, sao lưu đáng tin cậy, workflow ingestion lành mạnh và giám sát định kỳ đảm bảo kiến thức đó luôn chính xác, có thể tìm kiếm và sẵn sàng khi bạn cần nhất.
Câu hỏi thường gặp (FAQ)
Q: OpenMetadata dùng để làm gì?
A: OpenMetadata là nền tảng metadata mã nguồn mở dùng để lập danh mục cơ sở dữ liệu, ghi lại schema, theo dõi data lineage, chỉ định quyền sở hữu và cải thiện quản trị dữ liệu trên các nền tảng dữ liệu.
Q: Tôi có thể tự quản OpenMetadata không?
A: Có. OpenMetadata cung cấp bộ triển khai Docker Compose chính thức cho phép bạn tự quản nền tảng trên máy chủ Linux như Ubuntu cho mục đích phát triển và đánh giá, với các tùy chọn triển khai production cho môi trường lớn hơn.
Q: OpenMetadata có bắt buộc dùng Elasticsearch không?
A: Có. Triển khai tiêu chuẩn dùng Elasticsearch để lập chỉ mục và tìm kiếm. Triển khai production cũng có thể dùng các cấu hình OpenSearch được hỗ trợ, tùy thuộc vào phiên bản và kiến trúc triển khai.
Q: OpenMetadata cần bao nhiêu RAM?
A: Quick Start chính thức có thể chạy trên phần cứng khiêm tốn để thử nghiệm, nhưng triển khai production cần tài nguyên nhiều hơn đáng kể. Yêu cầu bộ nhớ phụ thuộc vào số dịch vụ được kết nối, khối lượng metadata và khối lượng công việc lập chỉ mục tìm kiếm.
Q: OpenMetadata có miễn phí không?
A: Có. OpenMetadata được phát hành dưới dạng phần mềm mã nguồn mở theo giấy phép Apache 2.0.
Suy nghĩ cuối cùng
Cài đặt OpenMetadata sẽ không tự tổ chức hạ tầng của bạn. Nó sẽ không đổi tên bảng, xóa cơ sở dữ liệu không dùng, viết tài liệu hoặc quyết định ai sở hữu tập dữ liệu nào. Đó vẫn là trách nhiệm của bạn.
Điều nó làm là cung cấp ngữ cảnh thường bị thiếu.
Thay vì coi cơ sở dữ liệu, pipeline, dashboard và dịch vụ là các hệ thống biệt lập, bạn có thể thấy chúng liên hệ với nhau ra sao. Các phụ thuộc trở nên hữu hình. Quyền sở hữu rõ ràng hơn. Các thay đổi dễ đánh giá hơn vì chúng dựa trên ngữ cảnh thay vì giả định.
Đó là giá trị thực sự của một danh mục metadata.
Khi môi trường của bạn phát triển, nó tích lũy kiến thức. Một phần kiến thức nằm trong tài liệu. Một phần nằm trong mã nguồn. Phần lớn chỉ tồn tại trong trí nhớ của con người. Một danh mục metadata tập hợp kiến thức đó lại, làm cho nó có thể tìm kiếm được và giữ nó kết nối với các hệ thống mà nó mô tả.
Cho dù bạn quản lý một homelab, một startup hay một nền tảng dữ liệu lớn, mục tiêu vẫn như nhau: bớt thời gian tìm hiểu cách các hệ thống khớp với nhau, dành nhiều thời gian hơn để cải thiện chúng.
Phần mềm chỉ là điểm khởi đầu. Lợi ích thực sự đến từ việc hiểu môi trường của bạn đủ rõ để đưa ra quyết định tự tin khi nó phát triển. Sự hiểu biết đó là thứ metadata mang lại, và đó là lý do việc duy trì một danh mục metadata trở nên có giá trị hơn theo từng năm.
Tài nguyên:



