ubuntu 获取日志文件不存在:当试图在局部气流上运行dag时

2fjabf4q  于 2022-11-22  发布在  其他
关注(0)|答案(1)|浏览(145)

我在ubuntu机器上本地运行airflow,我的airflow.cfg文件在目录中:/home/airflow/airflow所以我为我的dag创建了一个子目录,即/home/airflow/airflow/dags/,并在那里创建了一个dag。
我创建的用于检查示例输出的dag是:

from datetime import datetime, timedelta

from airflow import DAG
from airflow.operators.bash import BashOperator

default_args = {
    'owner': 'airflow',
    'retries': 5,
    'retry_delay': timedelta(minutes=2)
}

with DAG(
    dag_id='our_first_dag',
    default_args=default_args,
    description='This is our first dag that we write',
    start_date=datetime(2022, 7, 29, 2),
    schedule_interval='@daily'
) as dag:
    task1 = BashOperator(
        task_id='first_task',
        bash_command="echo hello world, this is the first task!"
    )

    task1

然后我运行airflow dags list检查是否检测到它,得到以下输出:

$ airflow dags list
dag_id           | filepath         | owner   | paused
=================+==================+=========+=======
our_first_dag    | our_first_dag.py | airflow | False

但是当我重新启动我的气流调度程序和Web服务器,并运行dag时,我得到以下错误作为我的输出:

*** Log file does not exist: /home/airflow/airflow/logs/dag_id=our_first_dag_v5/run_id=manual__2022-11-13T01:35:03.807018+00:00/task_id=first_task/attempt=4.log
*** Fetching from: http://:8793/log/dag_id=our_first_dag_v5/run_id=manual__2022-11-13T01:35:03.807018+00:00/task_id=first_task/attempt=4.log
*** Failed to fetch log file from worker. Request URL is missing an 'http://' or 'https://' protocol.

目录内容包括:

-rw-rw-r-- 1 airflow airflow  50564 Nov 12 12:56 airflow.cfg
-rw-r--r-- 1 airflow airflow 454656 Nov 11 13:07 airflow.db
-rw-r--r-- 1 airflow airflow      7 Nov 12 18:12 airflow-webserver.pid
drwxrwxr-x 3 airflow airflow   4096 Nov 12 18:08 dags
drwxrwxr-x 4 airflow airflow   4096 Nov 12 17:56 logs
-rw-rw-r-- 1 airflow airflow   4743 Nov 11 12:57 webserver_config.py

我的气流中没有docker-compose.yaml文件。
任何帮助将不胜感激谢谢!我不知道为什么我得到这个错误。

dzhpxtsq

dzhpxtsq1#

我把airflow.cfg中的执行器从CeleryExecutor改为SequentialExecutor,它对我很有效。我不知道为什么celery 执行器不工作,它无论如何都不理想,但至少dags现在在运行。

相关问题