为什么我的气流网络服务器无法正确初始化?

Why can't my airflow webserver initialize properly?

当我在 Apache guide to airflow in Docker 和 运行 docker-compose up 之后创建虚拟 DAG 时,webserver 容器反复失败并重新启动,错误如下所示:

webserver_1  | [2021-07-26 18:44:42,905] {cli_action_loggers.py:105} WARNING - Failed to log action with (psycopg2.errors.UndefinedTable) relation "log" does not exist
webserver_1  | LINE 1: INSERT INTO log (dttm, dag_id, task_id, event, execution_dat...

这个错误提示我网络服务器无法初始化气流数据库。这个虚拟 DAG 使用 Airflow 2 和 CeleryExecutor。在 this example 使用 Airflow 2 和 LocalExecutor 以及我的团队当前使用 Airflow 1 和 CeleryExecutor.[=22= 的设置后,我 运行 遇到了同样的问题]

让我感到困惑的是,我的队友可以 运行 基于我们的 docker-compose 的 DAG 没有问题(而且据推测,其他人可以 运行 Apache 的官方快速入门成功)。所以我的机器出了点问题(可能与 Postgres 有关)以某种方式影响了我的 Docker 图像。在几个不同的 docker-compose 气流设置中可能导致此错误的原因是什么?

到目前为止我尝试过的:

我在 Docker 版本 20.10.7 和 docker-compose 版本 1.29.2.

我认为您没有遵循“开始之前”的步骤并增加了 Docker https://airflow.apache.org/docs/apache-airflow/stable/start/docker.html#before-you-begin

所需的内存

Docker Mac 的默认设置,几乎没有足够的内存供 Docker 到 运行 气流使用。

我可以通过使用 docker system prune 完全清除我计算机上的 Docker 个工件来解决这个问题。我运行以下命令:

docker system prune --all
docker system prune --all --volumes

我之前尝试从我的计算机中清除 Docker 工件是不完整的;杀死和删除容器和 uninstalling/reinstalling Docker 是不够的。

我也有这个问题,如果有人能帮忙

airflow-init_1       | [2022-04-14 18:48:52,290] {cli_action_loggers.py:105} WARNING - Failed to log action with (psycopg2.errors.UndefinedTable) relation "log" does not exist
airflow-init_1       | LINE 1: INSERT INTO log (dttm, dag_id, task_id, event, execution_dat...