Airflow:日志文件不是本地的,不支持的远程日志位置

时间:2017-08-03 07:44:57

标签: airflow apache-airflow airflow-scheduler

我无法从Airflow UI看到附加到任务的日志: enter image description here

airflow.cfg文件中的日志相关设置为:

  • remote_base_log_folder =
  • base_log_folder = /home/my_projects/ksaprice_project/airflow/logs
  • worker_log_server_port = 8793
  • child_process_log_directory = /home/my_projects/ksaprice_project/airflow/logs/scheduler

虽然我正在设置remote_base_log_folter,但它正在尝试从http://:8793/log/tutorial/print_date/2017-08-02T00:00:00获取日志 - 我不明白这种行为。根据设置,工作人员应将日志存储在/home/my_projects/ksaprice_project/airflow/logs,并且应该从同一位置而不是远程获取它们。

更新 task_instance表内容: enter image description here

3 个答案:

答案 0 :(得分:7)

我也遇到了同样的问题。

airflow.cfg中设置以下变量对我有用。使用{hostname}作为计算机FQDN {hostname}而不是localhost。

endpoint_url = http://{hostname}:8080

base_url = http://{hostname}:8080

祝你好运!

答案 1 :(得分:1)

正如你在image-1中看到的那样,有一个时间戳,请确保在日志中你有文件夹/文件的时间戳作为名称。

您正在查看UI,因此首先要确保您在目录中创建了日志文件,在我的情况下,我的日志文件夹看起来像

(AIRFLOW-ENV) [cloudera@quickstart dags]$ ll /home/cloudera/workspace/python/airflow_home/logs/my_test_dag/my_sensor_task 
total 8
-rw-rw-rw- 1 cloudera cloudera 3215 Nov 14 08:45 2017-11-12T12:00:00
-rw-rw-rw- 1 cloudera cloudera 2694 Nov 14 08:45 2017-11-14T08:36:06.920727
(AIRFLOW-ENV) [cloudera@quickstart dags]$ 

所以我的日志网址是

http://localhost:8080/admin/airflow/log?task_id=my_sensor_task&dag_id=my_test_dag&execution_date=2017-11-14T08:36:06.920727

当您转到DAG并选择GRAPH-VIEW时,您可以看到“RUN”旁边的下拉列表,选择相应的运行,然后在下面的图表视图中选择相应的任务/运算符并选择视图日志

答案 2 :(得分:0)

我也遇到过这种情况,不得不取消任务。

dags_are_paused_at_creation = False

我还在airflow.cfg

中将新dag设置为默认为取消暂停
dags_are_paused_at_creation = False