如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
DataHub Ingestion镜像是DataHub数据目录平台的核心组件,专注于实现数据从各类数据源到DataHub的数据摄取、同步及元数据采集功能。作为DataHub数据集成链路的关键环节,该镜像支持通过配置化方式定义数据摄取任务,自动化完成数据抽取、转换、加载(ETL)流程,确保DataHub数据目录中数据资产信息的实时性与准确性,为企业数据治理、元数据管理及数据发现提供基础支撑。
从Docker Hub或私有镜像仓库拉取最新版本镜像:
bashdocker pull datahubproject/ingestion:latest
版本说明:可通过指定标签选择稳定版本(如
v0.13.0),建议与DataHub核心服务版本保持一致。
数据摄取任务通过YAML配置文件定义,以下为MySQL数据源同步至DataHub的示例配置(ingestion-config.yaml):
yaml# 数据源配置 source: type: mysql config: username: "db_user" password: "db_password" host_port: "mysql-host:3306" database: "target_db" schema_pattern: "public" # 同步指定schema下的表 table_pattern: "orders.*" # 同步orders前缀的表 use_information_schema: true # 从information_schema获取元数据 # 目标DataHub配置 sink: type: datahub config: server: "http://datahub-gms:8080" # DataHub GMS服务地址 auth: type: "no-auth" # 若启用认证,可配置token或OAuth2信息 # 同步策略配置 transformers: - type: "add_dataset_tags" # 为同步的数据集添加标签 config: tags: ["mysql", "production"] - type: "mask_sensitive_fields" # 脱敏敏感字段(如手机号) config: fields: ["phone_number"] mask_type: "partial" # 部分脱敏(如138*5678) # 任务调度配置 run_config: schedule: "0 */6 * * *" # CRON表达式:每6小时执行一次 retry_count: 3 # 任务失败后重试次数 timeout_seconds: 3600 # 任务超时时间(1小时)
通过docker run启动容器,挂载配置文件并指定环境变量:
bashdocker run -d \ --name datahub-ingestion \ -v /path/to/ingestion-config.yaml:/etc/datahub/ingestion-config.yaml \ -e DATAHUB_GMS_HOST=datahub-gms \ # DataHub GMS服务主机名 -e DATAHUB_GMS_PORT=8080 \ # DataHub GMS服务端口 -e LOG_LEVEL=INFO \ # 日志级别(INFO/DEBUG/WARN/ERROR) -e INGESTION_WORKER_COUNT=2 \ # 并发任务数(默认1) datahubproject/ingestion:latest \ ingest -c /etc/datahub/ingestion-config.yaml # 启动指定配置文件的任务
与DataHub核心服务一同部署时,可通过docker-compose.yml集成:
yamlversion: '3.8' services: datahub-gms: # DataHub GMS服务(需提前部署) image: datahubproject/gms:latest ports: - "8080:8080" # ...其他GMS配置(略) datahub-ingestion: image: datahubproject/ingestion:latest volumes: - ./ingestion-configs:/etc/datahub/configs # 挂载配置文件目录 environment: - DATAHUB_GMS_HOST=datahub-gms - DATAHUB_GMS_PORT=8080 - LOG_LEVEL=INFO - INGESTION_WORKER_COUNT=3 command: ingest -d /etc/datahub/configs # 批量运行目录下所有YAML配置任务 depends_on: - datahub-gms
| 环境变量 | 描述 | 默认值 |
|---|---|---|
DATAHUB_GMS_HOST | DataHub GMS服务主机名或IP | localhost |
DATAHUB_GMS_PORT | DataHub GMS服务端口 | 8080 |
LOG_LEVEL | 日志输出级别(DEBUG/INFO/WARN/ERROR) | INFO |
INGESTION_WORKER_COUNT | 并发执行的摄取任务数(控制资源占用) | 1 |
CONFIG_RELOAD_INTERVAL | 配置文件自动重载间隔(秒,0表示禁用),用于动态更新任务配置 | 300 |
METRICS_PORT | Prometheus监控指标暴露端口 | 9090 |
HTTP_PROXY | 若通过代理访问数据源或DataHub,配置HTTP代理地址(如http://proxy:8080) | 无 |
配置文件(YAML)核心参数结构如下:
1. 数据源配置(source)
type:数据源类型(如mysql/snowflake/kafka),需与内置连接器匹配。config:数据源连接详情,不同类型数据源参数不同(参考DataHub连接器文档)。2. 目标配置(sink)
type: datahub:固定值,指定目标为DataHub。config.server:DataHub GMS服务地址(如http://datahub-gms:8080)。config.auth:认证配置(如no-auth/token/oauth2),无认证时可省略。3. 转换规则(transformers,可选)
type及对应config。4. 运行配置(run_config,可选)
schedule:CRON表达式(如0 0 * * *表示每日凌晨执行),不配置则为一次性任务。retry_count:任务失败后重试次数。timeout_seconds:单任务超时时间,超时后标记为失败。通过DataHub UI(http://datahub-frontend:9002)的“Ingestion”模块查看任务列表及执行状态,或通过容器日志实时监控:
bashdocker logs -f datahub-ingestion
修改挂载的YAML配置文件后,配置将在CONFIG_RELOAD_INTERVAL时间内自动重载,无需重启容器;或通过DataHub API触发任务更新:
bashcurl -X POST "http://datahub-gms:8080/ingestion/tasks/{task-id}/reload"
Prometheus可通过METRICS_PORT(默认9090)抓取指标,关键指标包括:
ingestion_task_success_total:成功完成的任务数ingestion_task_failed_total:失败的任务数ingestion_records_processed_total:处理的记录总数ingestion_task_duration_seconds:任务平均执行耗时您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



来自真实用户的反馈,见证轩辕镜像的优质服务