You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OMD裸金属部署:Airflow dag_generated_configs无法生成JSON文件求助

Open Metadata(OMD)裸金属部署Airflow Ingestion Service异常问题

问题描述

OMD生成的JSON文件无法存储到Airflow的dag_generated_configs目录中。注意到Kubernetes部署方式中有配置项AIRFLOW__OPENMETADATA_AIRFLOW_APIS__DAG_GENERATED_CONFIGS,但裸金属部署文档未提及该配置,怀疑此配置缺失是问题诱因。

环境信息

  • OMD版本:0.13.0
  • 元数据库:AWS RDS
  • 搜索引擎:AWS Open Search
  • 部署架构:OMD后端应用与Airflow standalone部署在同一EC2服务器

当前OMD YAML中的Airflow配置

airflowConfiguration:
   apiEndpoint: http://<server i.p>:8080
   hostIp: ${AIRFLOW_HOST_IP:-""}
   username: user
   password: pass
   metadataApiEndpoint: ${SERVER_HOST_API_URL:-http://localhost:8585/api}
   authProvider: ${AIRFLOW_AUTH_PROVIDER:-"no-auth"} # Possible values are "no-auth", "azure", "google", "okta", "auth0", "custom-oidc", "openmetadata"
   authConfig:
     azure:
       clientSecret: ${OM_AUTH_AIRFLOW_AZURE_CLIENT_SECRET:-""}
       authority: ${OM_AUTH_AIRFLOW_AZURE_AUTHORITY_URL:-""}
       scopes: ${OM_AUTH_AIRFLOW_AZURE_SCOPES:-[]}
       clientId: ${OM_AUTH_AIRFLOW_AZURE_CLIENT_ID:-""}

已尝试操作

  • 在Airflow主目录手动创建dag_generated_configs文件夹后重新执行ingestion,问题未解决
  • 将OMD与Airflow部署在同一EC2服务器,排除网络层面问题

期望解决

  1. 明确JSON文件无法生成/存储的根本原因
  2. 了解裸金属部署场景下,如何配置Airflow主路径及对应配置项

问题解答

1. JSON文件无法存储的原因分析

核心原因是裸金属部署时未配置Airflow的dag_generated_configs目录路径,OMD后端无法识别该目录的具体位置,导致生成的JSON配置文件无法写入目标路径。此外需额外排查以下点:

  • 目录权限:确认dag_generated_configs文件夹的所属用户/组与Airflow、OMD进程一致,需保证两者都有读写权限(可执行chmod 755 <路径>或chown <airflow-user>:<airflow-group> <路径>)
  • Airflow插件状态:Airflow端需确保openmetadata_airflow_apis插件已正确安装并启用,否则OMD无法与Airflow完成配置交互

2. 裸金属部署的配置方案

步骤1:在Airflow中添加配置项

编辑Airflow的airflow.cfg文件,新增以下配置段:

[openmetadata_airflow_apis]
dag_generated_configs = <Airflow主目录路径>/dag_generated_configs

替换<Airflow主目录路径>为实际路径(例如/home/airflow/airflow)

步骤2:在OMD配置中补充路径参数

修改OMD的YAML配置文件,在airflowConfiguration下新增dagGeneratedConfigs字段:

airflowConfiguration:
   apiEndpoint: http://<server i.p>:8080
   hostIp: ${AIRFLOW_HOST_IP:-""}
   username: user
   password: pass
   metadataApiEndpoint: ${SERVER_HOST_API_URL:-http://localhost:8585/api}
   authProvider: ${AIRFLOW_AUTH_PROVIDER:-"no-auth"}
   dagGeneratedConfigs: <Airflow主目录路径>/dag_generated_configs # 新增此行
   authConfig:
     azure:
       clientSecret: ${OM_AUTH_AIRFLOW_AZURE_CLIENT_SECRET:-""}
       authority: ${OM_AUTH_AIRFLOW_AZURE_AUTHORITY_URL:-""}
       scopes: ${OM_AUTH_AIRFLOW_AZURE_SCOPES:-[]}
       clientId: ${OM_AUTH_AIRFLOW_AZURE_CLIENT_ID:-""}

步骤3:重启服务

  • 重启Airflow standalone服务:airflow standalone restart
  • 重启OMD后端服务,确保配置生效

验证操作

重新执行ingestion任务,检查dag_generated_configs目录下是否生成对应的JSON文件,同时查看OMD与Airflow的日志确认无写入权限或路径错误提示


内容的提问来源于stack exchange,提问作者abhisheak gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 03:15:45