【问题标题】:"ValueError: Unable to configure handler 'processor'" error when running "airflow standalone"\"ValueError: Unable to configure handler \'processor\'\" 运行时出现错误 \"airflow standalone\"
【发布时间】:2023-01-03 04:53:49
【问题描述】:

我是气流的新手。我创建了一个虚拟环境并按照https://airflow.apache.org/docs/apache-airflow/stable/start.html 中的步骤操作。最后我给出了“airflow standalone”并得到了“ValueError: Unable to configure handler 'processor'”

(venv) hgovea155@INSML-CPXX7WW AFDocProj % airflow standalone
Unable to load the config, contains a configuration error.
Traceback (most recent call last):
  File "/usr/local/opt/python@3.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/logging/config.py", line 563, in configure
    handler = self.configure_handler(handlers[name])
  File "/usr/local/opt/python@3.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/logging/config.py", line 736, in configure_handler
    result = factory(**kwargs)
  File "/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/airflow/utils/log/file_processor_handler.py", line 49, in __init__
    Path(self._get_log_directory()).mkdir(parents=True, exist_ok=True)
  File "/usr/local/opt/python@3.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/pathlib.py", line 1273, in mkdir
    self._accessor.mkdir(self, mode)
PermissionError: [Errno 13] Permission denied: '/Users/hgovea155/airflow/logs/scheduler/2023-01-02'

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

Traceback (most recent call last):
  File "/Users/hgovea155/PycharmProjects/AFDocProj/venv/bin/airflow", line 5, in <module>
    from airflow.__main__ import main
  File "/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/airflow/__init__.py", line 46, in <module>
    settings.initialize()
  File "/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/airflow/settings.py", line 569, in initialize
    LOGGING_CLASS_PATH = configure_logging()
  File "/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/airflow/logging_config.py", line 74, in configure_logging
    raise e
  File "/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/airflow/logging_config.py", line 69, in configure_logging
    dictConfig(logging_config)
  File "/usr/local/opt/python@3.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/logging/config.py", line 800, in dictConfig
    dictConfigClass(config).configure()
  File "/usr/local/opt/python@3.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/logging/config.py", line 571, in configure
    '%r' % name) from e
ValueError: Unable to configure handler 'processor'

然后我给出了 export AIRFLOW_HOME=。之后我再次给出“airflow standalone”并收到“airflow.exceptions.AirflowConfigException:无法使用相对路径:sqlite:///./airflow.db连接到sqlite。请使用绝对路径,例如sqlite:////tmp/airflow.db。”

standalone | Database ready
Traceback (most recent call last):
  File "/Users/hgovea155/PycharmProjects/AFDocProj/venv/bin/airflow", line 8, in <module>
    sys.exit(main())
  File "/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/airflow/__main__.py", line 39, in main
    args.func(args)
  File "/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/airflow/cli/cli_parser.py", line 52, in command
    return func(*args, **kwargs)
  File "/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/airflow/cli/commands/standalone_command.py", line 48, in entrypoint
    StandaloneCommand().run()
  File "/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/airflow/cli/commands/standalone_command.py", line 64, in run
    self.initialize_database()
  File "/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/airflow/cli/commands/standalone_command.py", line 183, in initialize_database
    appbuilder = cached_app().appbuilder
  File "/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/airflow/www/app.py", line 167, in cached_app
    app = create_app(config=config, testing=testing)
  File "/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/airflow/www/app.py", line 90, in create_app
    f'Cannot use relative path: `{conf.get("database", "SQL_ALCHEMY_CONN")}` to connect to sqlite. '
airflow.exceptions.AirflowConfigException: Cannot use relative path: `sqlite:///./airflow.db` to connect to sqlite. Please use absolute path such as `sqlite:////tmp/airflow.db`.

然后我尝试了@kulasangar 提供的修复

我导航到用户 -> 气流并将“日志”文件夹更改为对所有用户读写和执行。 “ValueError:无法配置处理程序‘处理器’”错误没有发生,但我收到了另一个错误。

(venv) hgovea155@INSML-CPXX7WW AFDocProj 独立气流 独立 |独立启动气流 独立 |检查数据库是否已初始化 追溯(最近一次通话): 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py”,第 1901 行,在 _execute_context 游标、语句、参数、上下文 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/sqlalchemy/engine/default.py”,第 736 行,在 do_execute 中 cursor.execute(语句,参数) sqlite3.OperationalError:尝试写入只读数据库

上述异常是以下异常的直接原因:

回溯(最后一次通话): 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/bin/airflow”,第 8 行,位于 系统退出(主要()) 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/airflow/主要的.py”,第 39 行,在主 args.func(args) 命令中的文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/airflow/cli/cli_parser.py”,第 52 行 返回函数(*args,**kwargs) 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/airflow/cli/commands/standalone_command.py”,第 48 行,入口点 StandaloneCommand().run() 运行中的文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/airflow/cli/commands/standalone_command.py”,第 64 行 self.initialize_database() 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/airflow/cli/commands/standalone_command.py”,第 175 行,在 initialize_database 数据库.initdb() 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/airflow/utils/session.py”,第 75 行,在包装器中 返回 func(*args, session=session, **kwargs) initdb 中的文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/airflow/utils/db.py”,第 697 行 _create_db_from_orm(会话=会话) 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/airflow/utils/db.py”,第 682 行,在 _create_db_from_orm _create_flask_session_tbl() 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/airflow/utils/db.py”,第 677 行,在 _create_flask_session_tbl db.create_all() 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/flask_sqlalchemy/在里面.py”,第 1094 行,在 create_all 中 self._execute_for_all_tables(应用程序,绑定,'create_all') 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/flask_sqlalchemy/在里面.py”,第 1086 行,在 _execute_for_all_tables 中 op(bind=self.get_engine(app, bind), **extra) 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/sqlalchemy/sql/schema.py”,第 4931 行,在 create_all ddl.SchemaGenerator, self, checkfirst=checkfirst, 表=表 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py”,第 3228 行,在 _run_ddl_visitor conn._run_ddl_visitor(visitorcallable, element, **kwargs) 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py”,第 2211 行,在 _run_ddl_visitor visitorcallable(self.dialect, self, **kwargs).traverse_single(元素) 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/sqlalchemy/sql/visitors.py”,第 524 行,在 traverse_single 返回甲基(obj,** kw) 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/sqlalchemy/sql/ddl.py”,第 855 行,在 visit_metadata _is_metadata_operation=真, 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/sqlalchemy/sql/visitors.py”,第 524 行,在 traverse_single 返回甲基(obj,** kw) 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/sqlalchemy/sql/ddl.py”,第 900 行,在 visit_table include_foreign_key_constraints, #noqa 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py”,第 1380 行,在执行中 返回方法(自我,多参数,参数,_EMPTY_EXECUTION_OPTS) 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/sqlalchemy/sql/ddl.py”,第 81 行,在 _execute_on_connection 自我,多参数,参数,execution_options 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py”,第 1478 行,在 _execute_ddl 编译, 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py”,第 1944 行,位于执行上下文 e、语句、参数、游标、上下文 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py”,第 2125 行,位于handle_dbapi_exception sqlalchemy_exception,with_traceback=exc_info[2],来自=e 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/sqlalchemy/util/compat.py”,第 211 行,在 raise引发异常 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py”,第 1901 行,在 _execute_context 游标、语句、参数、上下文 文件“/Users/hgovea155/PycharmProjects/AFDocProj/venv/lib/python3.7/site-packages/sqlalchemy/engine/default.py”,第 736 行,在 do_execute 中 cursor.execute(语句,参数) sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) 尝试写入只读数据库 [SQL: 创建表会话( id 整数不为空, session_id VARCHAR(255), 数据块, 到期日期时间, 主键(id), 唯一(session_id) )

] (此错误的背景信息:https://sqlalche.me/e/14/e3q8

有没有办法来解决这个问题?我相信这个问题是因为初始设置或配置中的一些错误。是否可以找到更合适的修复而不是临时修复。

【问题讨论】:

    标签: python macos airflow


    【解决方案1】:

    用户似乎没有权限在您的气流分布文件夹下写入日志。

    您能否尝试授予该文件夹的写入权限,以便气流实例可以写入日志

    sudo chmod -R 777 /home/user/airflow_logs
    

    请相应地更改日志目录。

    【讨论】:

    • 这似乎奏效了,但现在我又遇到了一个只读权限错误。我已将其添加到主要问题中。
    猜你喜欢
    • 1970-01-01
    • 2021-04-27
    • 1970-01-01
    • 1970-01-01
    • 2017-06-28
    • 1970-01-01
    • 1970-01-01
    • 2015-01-04
    • 2023-01-15
    相关资源
    最近更新 更多