Amazon s3 在气流中设置S3日志记录

Amazon s3 在气流中设置S3日志记录,amazon-s3,cloud,airflow,Amazon S3,Cloud,Airflow,这让我快发疯了 我正在云环境中设置气流。我有一台服务器运行调度器和Web服务器,还有一台服务器作为芹菜工人,我使用的是airflow 1.8.0 运行作业很好。拒绝工作的是日志记录 我已在两台服务器上的afflow.cfg中设置了正确的路径: 远程\基本\日志\文件夹=s3://my bucket/airflow\日志/ 远程日志连接id=s3日志连接 我已经在airflow UI中设置了s3_logging_conn,其访问密钥和密钥如下所述 我用计算机检查了连接 s3=气流.hooks.S3

这让我快发疯了

我正在云环境中设置气流。我有一台服务器运行调度器和Web服务器,还有一台服务器作为芹菜工人,我使用的是airflow 1.8.0

运行作业很好。拒绝工作的是日志记录

我已在两台服务器上的afflow.cfg中设置了正确的路径:

远程\基本\日志\文件夹=s3://my bucket/airflow\日志/

远程日志连接id=s3日志连接

我已经在airflow UI中设置了s3_logging_conn,其访问密钥和密钥如下所述

我用计算机检查了连接

s3=气流.hooks.S3Hook('s3\u记录\u连接')

s3.加载字符串('test','test',bucket\u name='my-bucket')

这在两台服务器上都有效。因此,连接已正确设置。然而,每当我运行一个任务时,我得到的只是

***日志文件不是本地的

***在此处获取:http://*******

***无法从辅助进程获取日志文件

***正在读取远程日志

无法从s3://my bucket/airflow_logs/my dag/my task/2018-02-15T21:46:47.577537读取日志

我尝试按照预期的约定手动上传日志,但Web服务器仍然无法获取日志,所以问题出在两端。我不知道该怎么办,到目前为止我读到的所有东西都告诉我这应该是可行的。我马上就要安装1.9.0了,我听到了日志中的变化,看看我是否更幸运

更新:我对Airflow 1.9进行了干净的安装,并按照特定的说明进行了操作

Web服务器现在甚至无法启动,出现以下错误:

airflow.exceptions.AirflowConfigException:在配置中找不到节/键[core/remote_logging]

中明确提到了本节

因此,我尝试删除它,只加载S3处理程序,而不先进行检查,结果得到以下错误消息:

无法加载配置,包含配置错误

回溯(最近一次呼叫最后一次):

文件“/usr/lib64/python3.6/logging/config.py”,第384行,解析:

自助进口商(已使用)

ModuleNotFoundError:没有名为的模块

'aiffort.utils.log.logging_mixin.RedirectStdHandler'

“airflow.utils.log.logging\u mixin”不是一个包

我觉得这不应该这么难

任何帮助都将不胜感激,干杯

解决:

  • 升级至1.9
  • 运行描述的步骤
  • 增加

    [核心]

    远程日志记录=真

    至afflow.cfg

  • 跑 pip安装--升级气流[日志]


  • 现在一切正常。

    我已经重新安装了所有内容,生成了新的凭据并升级到Airflow 1.9,问题仍然存在。请使用Airflow 1.9中的错误更新日志,它应该可以工作,一些用户实际上正在生产中使用它。完成后,添加了新的错误。只是一个旁注,主分支中当前的模板孵化器aiffort/aiffort/config\u templates/aiffort\u local\u settings.py包含对类“aiffort.utils.log.s3\u task\u handler.s3taskhdler”的引用,该类在apache aiffort==1.9.0 python包中不存在。修复很简单-使用这个基本模板:完成后,按照中的所有其他说明进行操作。请注意,此调整涉及