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服务器,排除网络层面问题
期望解决
- 明确JSON文件无法生成/存储的根本原因
- 了解裸金属部署场景下,如何配置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
相关产品推荐
相关产品推荐

