gpt4 book ai didi

kubernetes - 使用 kubernetes executor 时无法找到 Airflow-dag_id 问题

转载 作者:行者123 更新时间:2023-12-02 11:29:28 27 4
gpt4 key购买 nike

我正在使用 Airflow 稳定 Helm chart 并使用 Kubernetes Executor,正在为 dag 安排新的 pod,但找不到 dag_id 失败的问题。我正在使用 git-sync 来获取 dag。下面是错误和 kubernetes 配置值。有人可以帮我解决这个问题吗?
错误:

[2020-07-01 23:18:36,939] {__init__.py:51} INFO - Using executor LocalExecutor
[2020-07-01 23:18:36,940] {dagbag.py:396} INFO - Filling up the DagBag from /opt/airflow/dags/dags/etl/sampledag_dag.py
Traceback (most recent call last):
File "/home/airflow/.local/bin/airflow", line 37, in <module>
args.func(args)
File "/home/airflow/.local/lib/python3.6/site-packages/airflow/utils/cli.py", line 75, in wrapper
return f(*args, **kwargs)
File "/home/airflow/.local/lib/python3.6/site-packages/airflow/bin/cli.py", line 523, in run
dag = get_dag(args)
File "/home/airflow/.local/lib/python3.6/site-packages/airflow/bin/cli.py", line 149, in get_dag
'parse.'.format(args.dag_id))
airflow.exceptions.AirflowException: dag_id could not be found: sampledag . Either the dag did not exist or it failed to parse.
配置:
      AIRFLOW__KUBERNETES__DELETE_WORKER_PODS: false
AIRFLOW__KUBERNETES__GIT_REPO: git@git.com/dags.git
AIRFLOW__KUBERNETES__GIT_BRANCH: master
AIRFLOW__KUBERNETES__GIT_DAGS_FOLDER_MOUNT_POINT: /dags
AIRFLOW__KUBERNETES__GIT_SSH_KEY_SECRET_NAME: git-secret
AIRFLOW__KUBERNETES__WORKER_CONTAINER_REPOSITORY: airflow-repo
AIRFLOW__KUBERNETES__WORKER_CONTAINER_TAG: tag
AIRFLOW__KUBERNETES__RUN_AS_USER: "50000"
样本标签
import logging
import datetime

from airflow import models
from airflow.contrib.operators import kubernetes_pod_operator
import os

args = {
'owner': 'airflow'
}

YESTERDAY = datetime.datetime.now() - datetime.timedelta(days=1)


try:
print("Entered try block")
with models.DAG(
dag_id='sampledag',
schedule_interval=datetime.timedelta(days=1),
start_date=YESTERDAY) as dag:

print("Initialized dag")
kubernetes_min_pod = kubernetes_pod_operator.KubernetesPodOperator(
# The ID specified for the task.
task_id='trigger-task',
# Name of task you want to run, used to generate Pod ID.
name='trigger-name',
namespace='scheduler',
in_cluster = True,

cmds=["./docker-run.sh"],
is_delete_operator_pod=False,
image='imagerepo:latest',
image_pull_policy='Always',
dag=dag)

print("done")

except Exception as e:
print(str(e))
logging.error("Error at {}, error={}".format(__file__, str(e)))
raise

最佳答案

我遇到过同样的问题。我通过将以下内容添加到我的配置中来解决它:

AIRFLOW__KUBERNETES__DAGS_VOLUME_SUBPATH: repo/
发生的事情是初始化容器将在 [AIRFLOW__KUBERNETES__GIT_DAGS_FOLDER_MOUNT_POINT]/[AIRFLOW__KUBERNETES__GIT_SYNC_DEST] 中下载您的 dags。和 AIRFLOW__KUBERNETES__GIT_SYNC_DEST默认为 repo ( https://airflow.apache.org/docs/stable/configurations-ref.html#git-sync-dest )

关于kubernetes - 使用 kubernetes executor 时无法找到 Airflow-dag_id 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62686753/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com