apache/gravitinoApache Gravitino (Incubating) 是一款开源统一元数据管理平台,旨在解决多源异构数据系统的元数据碎片化问题。该Docker镜像封装了Gravitino服务端组件,提供开箱即用的元数据管理能力,支持快速部署和集成到现有数据平台架构中。
主要用途:
目前Gravitino官方镜像托管于Apache镜像仓库或Docker Hub(视孵化阶段而定),获取命令:
bashdocker pull apache/gravitino:incubating-0.5.0 # 替换为具体版本号
docker run)bashdocker run -d \ --name gravitino-test \ -p 8090:8090 \ apache/gravitino:incubating-0.5.0
注意:内置H2数据库不适合生产环境,数据会随容器销毁丢失。
bashdocker run -d \ --name gravitino-server \ -p 8090:8090 \ -v /path/to/gravitino/data:/opt/gravitino/data \ # 持久化数据目录 -e GRAVITINO_DB_TYPE=mysql \ -e GRAVITINO_DB_URL=jdbc:mysql://mysql-host:3306/gravitino?useSSL=false \ -e GRAVITINO_DB_USERNAME=root \ -e GRAVITINO_DB_PASSWORD=password \ -e GRAVITINO_SERVER_PORT=8090 \ -e GRAVITINO_LOG_LEVEL=INFO \ apache/gravitino:incubating-0.5.0
创建docker-compose.yml文件,集成Gravitino与MySQL(生产环境推荐):
yamlversion: '3.8' services: gravitino: image: apache/gravitino:incubating-0.5.0 container_name: gravitino-server ports: - "8090:8090" environment: - GRAVITINO_DB_TYPE=mysql - GRAVITINO_DB_URL=jdbc:mysql://mysql:3306/gravitino?useSSL=false&allowPublicKeyRetrieval=true - GRAVITINO_DB_USERNAME=root - GRAVITINO_DB_PASSWORD= gravitino123 - GRAVITINO_SERVER_PORT=8090 - GRAVITINO_LOG_LEVEL=INFO - GRAVITINO_AUTH_ENABLED=true # 启用认证 - GRAVITINO_AUTH_TYPE=ldap # 支持ldap/oauth2/none - GRAVITINO_LDAP_URL=ldap://ldap-server:389 - GRAVITINO_LDAP_BASE_DN=dc=example,dc=com volumes: - gravitino-data:/opt/gravitino/data # 持久化元数据 - ./log:/opt/gravitino/logs # 日志挂载 depends_on: - mysql restart: unless-stopped mysql: image: mysql:8.0 container_name: gravitino-mysql ports: - "3306:3306" environment: - MYSQL_ROOT_PASSWORD= gravitino123 - MYSQL_DATABASE=gravitino volumes: - mysql-data:/var/lib/mysql restart: unless-stopped volumes: gravitino-data: mysql-data:
启动命令:docker-compose up -d
| 环境变量名 | 描述 | 默认值 | 示例值 |
|---|---|---|---|
GRAVITINO_SERVER_PORT | 服务监听端口 | 8090 | 8090 |
GRAVITINO_DB_TYPE | 元数据存储类型(支持mysql/postgresql) | h2 | mysql |
GRAVITINO_DB_URL | 数据库连接URL | jdbc:h2:mem:gravitino | jdbc:mysql://mysql:3306/gravitino?useSSL=false |
GRAVITINO_DB_USERNAME | 数据库用户名 | sa | root |
GRAVITINO_DB_PASSWORD | 数据库密码 | 空 | gravitino123 |
GRAVITINO_LOG_LEVEL | 日志级别(DEBUG/INFO/WARN/ERROR) | INFO | INFO |
GRAVITINO_AUTH_ENABLED | 是否启用认证 | false | true |
GRAVITINO_AUTH_TYPE | 认证类型(none/ldap/oauth2) | none | ldap |
GRAVITINO_LDAP_URL | LDAP服务URL(启用ldap认证时必填) | - | ldap://ldap-server:389 |
GRAVITINO_LDAP_BASE_DN | LDAP基础DN | - | dc=example,dc=com |
GRAVITINO_CACHE_ENABLED | 是否启用元数据缓存 | true | true |
GRAVITINO_CACHE_SIZE | 缓存大小(MB) | 128 | 256 |
Gravitino的核心数据包括:
GRAVITINO_DB_*配置)/opt/gravitino/data目录/opt/gravitino/logs目录至宿主机,便于日志管理8090端口(API端口),若启用监控可额外映射9090(Prometheus指标)--network指定自定义网络服务启动后,通过以下方式验证:
curl http://localhost:8090/api/v1/info,返回服务版本信息docker logs gravitino-server,确认无ERROR级日志http://localhost:8090(需在配置中启用Web控制台)注:Apache Gravitino处于孵化阶段,功能和配置可能随版本迭代变化,建议参考官方文档获取最新信息。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务