Airflow:ValueError:无法配置处理程序“处理器” - wasb 记录器

2024-03-11

我正在尝试使用 Azure blob 配置远程日志记录。

Airflow version: 1.10.2
Python: 3.6.5
Ubuntu: 18.04

以下是我所做的步骤:

  1. 在 $AIRFLOW_HOME/config/log_config.py 中,我放置了 REMOTE_BASE_LOG_FOLDER = 'wasb-airflow-logs' (这是容器内的一个文件夹(容器名称:airflow-logs))
  2. Empty init.py 位于 $AIRFLOW_HOME/config/ 中
  3. $AIRFLOW_HOME/config/ 添加到 $PYTHONPATH 中
  4. 将 $AIRFLOW_HOME/config/log_config.py 中的 DEFAULT_LOGGING_CONFIG 重命名为 LOGGING CONFIG
  5. Airflow blob 连接中定义的用户具有对 REMOTE_BASE_LOG_FOLDER 的读/写访问权限
  6. $AIRFLOW_HOME/airflow.cfg 它有remote_logging = True logging_config_class = log_config.LOGGING_CONFIG 远程日志连接 ID =

以下是错误:

Unable to load the config, contains a configuration error.
Traceback (most recent call last):
  File "/home/gsingh/anaconda3/lib/python3.6/logging/config.py", line 382, in resolve
    found = getattr(found, frag)
AttributeError: module 'airflow.utils.log' has no attribute 'wasb_task_handler'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/gsingh/anaconda3/lib/python3.6/logging/config.py", line 384, in resolve
    self.importer(used)
  File "/home/gsingh/venv/lib/python3.6/site-packages/airflow/utils/log/wasb_task_handler.py", line 23, in <module>
    from airflow.contrib.hooks.wasb_hook import WasbHook
  File "/home/gsingh/venv/lib/python3.6/site-packages/airflow/contrib/hooks/wasb_hook.py", line 22, in <module>
    from airflow.hooks.base_hook import BaseHook
  File "/home/gsingh/venv/lib/python3.6/site-packages/airflow/hooks/base_hook.py", line 28, in <module>
    from airflow.models import Connection
  File "/home/gsingh/venv/lib/python3.6/site-packages/airflow/models.py", line 86, in <module>
    from airflow.utils.dag_processing import list_py_file_paths
  File "/home/gsingh/venv/lib/python3.6/site-packages/airflow/utils/dag_processing.py", line 49, in <module>
    from airflow.settings import logging_class_path
ImportError: cannot import name 'logging_class_path'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/gsingh/anaconda3/lib/python3.6/logging/config.py", line 558, in configure
    handler = self.configure_handler(handlers[name])
  File "/home/gsingh/anaconda3/lib/python3.6/logging/config.py", line 708, in configure_handler
    klass = self.resolve(cname)
  File "/home/gsingh/anaconda3/lib/python3.6/logging/config.py", line 391, in resolve
    raise v
  File "/home/gsingh/anaconda3/lib/python3.6/logging/config.py", line 384, in resolve
    self.importer(used)
  File "/home/gsingh/venv/lib/python3.6/site-packages/airflow/utils/log/wasb_task_handler.py", line 23, in <module>
    from airflow.contrib.hooks.wasb_hook import WasbHook
  File "/home/gsingh/venv/lib/python3.6/site-packages/airflow/contrib/hooks/wasb_hook.py", line 22, in <module>
    from airflow.hooks.base_hook import BaseHook
  File "/home/gsingh/venv/lib/python3.6/site-packages/airflow/hooks/base_hook.py", line 28, in <module>
    from airflow.models import Connection
  File "/home/gsingh/venv/lib/python3.6/site-packages/airflow/models.py", line 86, in <module>
    from airflow.utils.dag_processing import list_py_file_paths
  File "/home/gsingh/venv/lib/python3.6/site-packages/airflow/utils/dag_processing.py", line 49, in <module>
    from airflow.settings import logging_class_path
ValueError: Cannot resolve 'airflow.utils.log.wasb_task_handler.WasbTaskHandler': cannot import name 'logging_class_path'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/gsingh/venv/bin/airflow", line 21, in <module>
    from airflow import configuration
  File "/home/gsingh/venv/lib/python3.6/site-packages/airflow/__init__.py", line 36, in <module>
    from airflow import settings, configuration as conf
  File "/home/gsingh/venv/lib/python3.6/site-packages/airflow/settings.py", line 262, in <module>
    logging_class_path = configure_logging()
  File "/home/gsingh/venv/lib/python3.6/site-packages/airflow/logging_config.py", line 73, in configure_logging
    raise e
  File "/home/gsingh/venv/lib/python3.6/site-packages/airflow/logging_config.py", line 68, in configure_logging
    dictConfig(logging_config)
  File "/home/gsingh/anaconda3/lib/python3.6/logging/config.py", line 795, in dictConfig
    dictConfigClass(config).configure()
  File "/home/gsingh/anaconda3/lib/python3.6/logging/config.py", line 566, in configure
    '%r: %s' % (name, e))
ValueError: Unable to configure handler 'processor': Cannot resolve 'airflow.utils.log.wasb_task_handler.WasbTaskHandler': cannot import name 'logging_class_path'

我不确定我缺少哪个配置。有人遇到过同样的问题吗?


我遇到了同样的错误,但是如果我向上滚动,我可以看到在 ValueError 之前抛出了另一个异常。这是一个 PermissionError。

PermissionError: [Errno 13] Permission denied: '/usr/local/airflow/logs/scheduler'

我收到该错误的原因是因为我在运行 Airflow docker 容器之前没有创建最初的 3 个文件夹(dags、logs、plugins)。所以docker似乎已经自动创建了,但是权限是错误的。

修复步骤:

  1. 停止当前容器
docker-compose down --volumes --remove-orphans
  1. 删除文件夹 dags、日志、插件
  2. 以防万一 销毁已经创建的镜像和卷(在 Docker Desktop 中)
  3. 从命令行再次创建文件夹
mkdir logs dags plugins
  1. 再次运行气流泊坞窗
docker-compose up airflow-init
docker-compose up
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Airflow:ValueError:无法配置处理程序“处理器” - wasb 记录器 的相关文章

  • 如何定义 Apache Airflow DAG 的超时?

    我使用的是 Airflow 1 10 2 但 Airflow 似乎忽略了我为 DAG 设置的超时 我正在使用以下命令为 DAG 设置超时期限dagrun timeout参数 例如 20 秒 我有一个需要 2 分钟才能运行的任务 但 Airf
  • Airflow DAG动态结构

    我正在寻找一个可以决定 dag 结构的解决方案当 dag 被触发时因为我不确定我必须运行的操作员数量 请参阅下面我计划创建的执行顺序 Task B 1 Task C 1 Task B 2 Task C 2 Task A Task B 3 g
  • Airflow连接密码解密

    我想解密气流连接的密码 从连接表中获取值 有什么方法可以解密密码值 你可以做 from airflow hooks base hook import BaseHook connection BaseHook get connection c
  • Airflow DAG 版本控制

    DAG 版本控制是一回事吗 我通过谷歌搜索找不到太多关于这个主题的信息 我想查看 Airflow 中的 DAG 屏幕 并确定 DAG 代码是什么 最简单的解决方案是将版本号作为dag id 但我很高兴知道是否有人有更好的替代解决方案 标签也
  • 删除 Airflow Scheduler 日志

    我正在使用 Docker Apache Airflow 版本 1 9 0 2 https github com puckel docker airflow https github com puckel docker airflow 调度程
  • 语法无效:使用初始排序键创建表排序键 auto

    我正在尝试使用target redshift将数据推送到aws redshift https pypi org project target redshift https pypi org project target redshift 我
  • Airflow + Cluster + Celery + SQS - Airflow Worker:“Hub”对象没有属性“_current_http_client”

    我正在尝试对我的 Airflow 设置进行集群 并且正在使用本文 https i stack imgur com JRNOj png这样做 我刚刚配置了我的airflow cfg文件以使用CeleryExecutor 我指着我的sql al
  • 如何在 Airflow 中安装软件包?

    我在 Airflow 在 GCP 上 部署了一个 dag 但收到错误 没有名为 scipy 的模块 如何在 Airflow 中安装软件包 我尝试添加一个单独的 DAG 来运行 def pip install package subproce
  • 没有这样的文件或目录 /airflow/xcom/return.json

    创建了一个图像包含 airflow xcom return json在所有子目录上使用 chmod x 由于日志显示找不到文件或目录 尝试过 chmod x strtpodbefore KubernetesPodOperator names
  • Airflow initdb slot_pool 不存在

    我面临一个问题airflowpostgres 后端初始化 乌班图 18 04 1 气流 v1 10 6 Postgres 10 10 Python 3 6 当我跑步时 airflow initdb I get 2019 11 22 10 1
  • 为每个文件运行气流 DAG

    所以我在airflow中有一个非常好的DAG 它基本上在二进制文件上运行几个分析步骤 作为airflow插件实现 DAG 由 ftp 传感器触发 该传感器仅检查 ftp 服务器上是否有新文件 然后启动整个工作流程 所以目前的工作流程是这样的
  • AIRFLOW:在 jinja 模板中为 {{ds}} 使用 .replace() 或relativedelta()

    我的目标是根据气流宏变量 ds 返回上个月的第一天并使用它 例如在 Hive 操作符中 例如 对于 ds 2020 05 09 我预计返回 2020 04 01 我找到并尝试的解决方案是 SET hivevar LAST MONTH ds
  • dag.py 引发:“airflow.exceptions.AirflowException:任务缺少 start_date 参数”,但它在代码中给出

    我今天尝试创建我的第一个气流 DAG from datetime import timedelta from airflow import DAG from airflow operators bash operator import Ba
  • 如何使用 Cloud Composer 将大数据从 Postgres 导出到 S3?

    我一直在使用 Postgres to S3 运算符将数据从 Postgres 加载到 S3 但最近 我必须导出一个非常大的表 并且我的 Airflow Composer 失败 没有任何日志 这可能是因为我们正在使用 Python 临时文件模
  • 气流:找不到 dag_id

    我在不同的 AWS 机器上运行气流服务器和工作线程 我已经在它们之间同步了 dags 文件夹 然后运行airflow initdb在两者上 并在运行时检查 dag id 是否相同airflow list tasks
  • 气流,在 dag 运行之前标记任务成功或跳过它

    我们有一个巨大的 DAG 其中有许多小而快速的任务和一些大而耗时的任务 我们只想运行 DAG 的一部分 我们发现最简单的方法是不添加我们不想运行的任务 问题是我们的 DAG 有很多相互依赖关系 因此当我们想要跳过某些任务时 不破坏 DAG
  • 使用 Airflow BigqueryOperator 向 BigQuery 表添加标签

    我必须向 bigquery 表添加标签 我知道可以通过 BigQuery UI 来完成此操作 但如何通过气流运算符来完成此操作 Use case 用于计费和搜索目的 由于多个团队在同一项目和数据集下工作 我们需要将各个团队创建的所有表组合在
  • 气流 - 未知的蓝色任务状态

    我刚刚收到一个蓝色任务 该任务没有出现在状态图例中 我很好奇这是一个错误还是未记录的状态 正如您所看到的 蓝色没有显示在右侧的潜在状态列表中 我刚刚完成了所有过去 未来和上游尝试的清理 仅供参考 这是一个已知的 TaskInstance 状
  • Airflow 2.x 中 DAG 导入错误的日志消息

    我正在本地运行 Apache Airflow 2 x 使用中提供的 Docker Compose 文件文档 https airflow apache org docs apache airflow stable start docker h
  • Airflow 1.10.3 - 空白“最近任务”和“DAG 运行”

    我在 Ubuntu 18 10 上安装了 Airflow 1 10 3 并且能够添加 DAG 并运行它们 但 Web UI 中的 最近任务 和 DAG 运行 为空 我所看到的只是一个黑色虚线圆圈 它不断加载 但什么也没有实现 我最近将 Ai

随机推荐