【问题标题】:Airflow in docker keep restartingdocker 中的气流不断重启
【发布时间】:2023-01-25 01:41:29
【问题描述】:

我正在尝试在 Windows 操作系统中使用 Docker + ubuntu 创建一个本地 Airflow env。

我使用了以下向导: https://github.com/aws/aws-mwaa-local-runner

此向导创建 2 个容器(1 个用于 DB,1 个用于 Airflow)

现在我遇到了以下问题:

我的 Airflow 容器在遇到 2 个异常后不断重启:

  1. “错误:您需要初始化数据库。请运行airflow db init。确保使用 Airflow 版本 2.3.2 运行该命令。”

  2. 追溯(最近一次通话): 文件“/usr/local/bin/airflow”,第 8 行,位于 系统退出(主要()) 文件“/usr/local/airflow/.local/lib/python3.7/site-packages/airflow/主要的.py”,第 38 行,在主 args.func(args) 命令中的文件“/usr/local/airflow/.local/lib/python3.7/site-packages/airflow/cli/cli_parser.py”,第 51 行 返回函数(*args,**kwargs) initdb 中的文件“/usr/local/airflow/.local/lib/python3.7/site-packages/airflow/cli/commands/db_command.py”,第 35 行 数据库.initdb() 文件“/usr/local/airflow/.local/lib/python3.7/site-packages/airflow/utils/session.py”,第 71 行,在包装器中 返回 func(*args, session=session, **kwargs) initdb 中的文件“/usr/local/airflow/.local/lib/python3.7/site-packages/airflow/utils/db.py”,第 648 行 upgradedb(会话=会话) 文件“/usr/local/airflow/.local/lib/python3.7/site-packages/airflow/utils/session.py”,第 68 行,在包装器中 返回函数(*args,**kwargs) 文件“/usr/local/airflow/.local/lib/python3.7/site-packages/airflow/utils/db.py”,第 1449 行,在 upgradedb command.upgrade(config, revision=to_revision or 'heads') 文件“/usr/local/lib/python3.7/site-packages/alembic/command.py”,第 294 行,升级中 脚本.run_env() 文件“/usr/local/lib/python3.7/site-packages/alembic/script/base.py”,第 490 行,在 run_env util.load_python_file(self.dir, "env.py") 文件“/usr/local/lib/python3.7/site-packages/alembic/util/pyfiles.py”,第 97 行,在 load_python_file module = load_module_py(module_id, 路径) 文件“/usr/local/lib/python3.7/site-packages/alembic/util/compat.py”,第 182 行,在 load_module_py spec.loader.exec_module(模块) exec_module 中的文件“”,第 728 行 文件“”,第 219 行,在 _call_with_frames_removed 中 文件“/usr/local/airflow/.local/lib/python3.7/site-packages/airflow/migrations/env.py”,第 107 行,位于 run_migrations_online() run_migrations_online 中的文件“/usr/local/airflow/.local/lib/python3.7/site-packages/airflow/migrations/env.py”,第 101 行 context.run_migrations() run_migrations 中的文件“”,第 8 行 文件“/usr/local/lib/python3.7/site-packages/alembic/runtime/environment.py”,第 813 行,在 run_migrations self.get_context().run_migrations(**kw) 文件“/usr/local/lib/python3.7/site-packages/alembic/runtime/migration.py”,第 548 行,在 run_migrations 对于 self._migrations_fn(heads, self) 中的步骤: 文件“/usr/local/lib/python3.7/site-packages/alembic/command.py”,第 283 行,正在升级 返回 script._upgrade_revs(revision, rev) 文件“/usr/local/lib/python3.7/site-packages/alembic/script/base.py”,第 365 行,在 _upgrade_revs 转速 = 列表(转速) 文件“/usr/local/lib/python3.7/site-packages/alembic/script/revision.py”,第 1040 行,在 _iterate_revisions total_space.remove(rev.revision) KeyError: '75d5ed6c2b43'”

    我尝试在 ubuntu 中运行以下命令来更新数据库: “docker exec -it aws-mwaa-local-runner-202_local-runner_1 /entrypoint.sh 气流数据库升级”

    但得到同样的错误: “...... KeyError:'75d5ed6c2b43'”

    我还尝试重置并初始化 Airflow DB -

    1. docker exec -it aws-mwaa-local-runner-202_local-runner_1 /entrypoint.sh airflow initdb
    2. docker exec -it aws-mwaa-local-runner-202_local-runner_1 /entrypoint.sh airflow reset 并且仍然收到“..... KeyError:'75d5ed6c2b43'”错误。

      等待回应, 谢谢

【问题讨论】:

  • 您有运行此 docker 的特定用例吗?我可以建议在本地运行气流的更好方法。 mwaa local runner 不是很有用。我已经运行 mwaa 一年了,但从未发现这个工具有用。
  • 如果您能告诉我其他选项是什么以及如何使它们起作用,我将非常高兴
  • @AlanMil 我遇到了同样的问题,能解决这个问题吗?
  • @GalS,不。几天后我会回到这个问题。希望有一些积极的更新
  • @AlanMil 谢谢,我现在最终使用 AF2.2.5 ...

标签: python-3.x docker-compose airflow


【解决方案1】:

我在尝试使用 Kubernetes 部署 Airflow 时遇到此错误。事实证明,这个问题非常具有误导性。 mlflow==1.16.0 的 python 依赖项导致了该问题。当我将版本升级到 1.26.0 时,气流问题消失了。您可能有类似的依赖冲突,可以通过升级到兼容的软件包版本来解决。

【讨论】:

    猜你喜欢
    • 2021-01-02
    • 1970-01-01
    • 2021-06-24
    • 2023-02-11
    • 1970-01-01
    • 2020-04-10
    • 2016-09-25
    • 2021-05-03
    • 2017-06-03
    相关资源
    最近更新 更多