Skip to content

openMetaData 二次试用

约 738 字大约 2 分钟

数据治理openmetadata

2025-10-13

准备docker环境

下载docker-compose.yml

下载并更名为 docker-compose-openmetadata.yml

存放路径为:D:\LocalDocker

创建文件夹

D:\LocalDocker\docker_volumes\openmetadata\db-data

修改配置

db挂在卷路径

端口号,逐一检查配置中的端口号是否已经占用,比如mysql 3306 默认肯定得改

运行

docker-compose -f docker-compose-openmetadata.yml up -d

访问信息

openmetadata

http://localhost:8585

  • 用户名:admin@open-metadata.org
  • 密码:admin

airflow

http://localhost:8180/

  • 用户名: admin
  • 密码: admin

image-20251014110429699

使用openmetadata

  • Explore (探索)
  • Data Quality (数据质量)
  • Glossary (术语表)
  • Teams (团队)
  • Settings (设置):
    • 数据源连接器配置。

然后就遇到问题, 这边数据库使用人大金仓pg模式, openmetadata 没有人大金仓驱动,直接使用postgre 配置连接信息后,遇到python连接出现的问题:

Could not determine version from string 'KingbaseES V008R006C008B0020 on aarch64-unknown-linux-gnu, compiled by gcc (GCC) 7.3.0, 64-bit'

配置项有限,暂时没有解决,等待后续解决。

尝试MYSQL 加载元数据成功。

附:docker 一些帮助

1:docker 端口配置

expose: 只是声明容器暴露的接口,并不与宿主机映射,通过同一网络下的服务名可以访问。 比如此处mysql 声明是 3306

ports: 配置宿主机与容器端口的映射,外部通过宿主机ip 和 配置的映射端口可以访问到服务。比如此处 是 9306:3306

2、docker 卷配置

volumes 定义:默认是 “命名卷” 在顶级 volumes 下配置的 ingestion-volume-dag-airflow 等,属于 Docker 命名卷(Named Volumes)的简化声明方式(未指定 driver、driver_opts 等高级配置,使用 Docker 默认的 local 驱动)。这种定义的作用是:提前 “注册” 这些卷名,确保多个 service 能共享同一个卷(而非各自创建匿名卷) 顶级 volumes 只是 “定义卷的元信息”,service 不会自动关联这些卷。必须在 service 的 volumes 字段中,通过 “卷名:容器内路径” 的格式,将卷挂载到容器的指定目录,才能让容器读写卷中的数据。

顶级命名卷(你定义的 ingestion-volume-dag-airflow 等)的宿主机存储位置,默认由 Docker 管理(无需手动配置),但可通过 driver_opts 自定义存储路径(仅针对 local 驱动,也是默认驱动)。

当你在顶级 volumes 中仅声明卷名(如 ingestion-volume-dag-airflow:),未配置任何参数时,Docker 会使用默认的 local 驱动,并将卷数据存储在宿主机的 /var/lib/docker/volumes/[卷名]/_data 目录下。

3、docker容器无权限操作问题处理

docker exec -it 0efb7a92554d /bin/bash 进入后默认是airflow用户,想装个编辑器vim 提示没有权限,直接使用sudo su - 切换,提示输入airflow用户密码, 空通过不了

处理方法,在执行 exec 时指定用户即可:

docker exec -it --user root 0efb7a92554d /bin/bash