无法使用 MacOS 在 Docker 上运行 Airflow - 即使分配了更多内存

问题描述 投票:0回答:1

我正在尝试在 Docker 上运行 Airflow(使用 MacOS,版本 12.6.2,具有 8 GB 内存)。我已经下载了 docker-compose.yaml 文件here(apache/airflow:2.4.2),并将我的 .env 文件设置为:

AIRFLOW_IMAGE_NAME=apache/airflow:2.4.2
AIRFLOW_UID=50000

当我运行

docker-compose up -d
并等待时,网络服务器容器永远不会变得健康:

enter image description here

按照 MacOS 上许多人的建议,我提高了 Docker 内存:

enter image description here

我尝试了多种 Docker 内存组合(全部为 8GB 内存、7GB 内存、6GB 内存、5GB 和 4GB 内存),并测试了 CPU、交换和虚拟磁盘限制的不同组合(我有未尝试将虚拟磁盘限制设置为高于 160 GB)。我还发现使用所有 4 个 CPU 是个坏主意,所以我没有尝试过。

这是我获得的网络服务器容器的日志:

2023-01-12 03:26:30 [2023-01-12 11:26:30 +0000] [79] [CRITICAL] WORKER TIMEOUT (pid:215)
2023-01-12 03:26:31 [2023-01-12 11:26:31 +0000] [79] [CRITICAL] WORKER TIMEOUT (pid:216)
2023-01-12 03:26:33 [2023-01-12 11:26:32 +0000] [79] [CRITICAL] WORKER TIMEOUT (pid:217)
2023-01-12 03:26:33 [2023-01-12 11:26:33 +0000] [79] [WARNING] Worker with pid 215 was terminated due to signal 9
2023-01-12 03:26:34 [2023-01-12 11:26:34 +0000] [262] [INFO] Booting worker with pid: 262
2023-01-12 03:26:36 [2023-01-12 11:26:36 +0000] [79] [WARNING] Worker with pid 217 was terminated due to signal 9
2023-01-12 03:26:36 [2023-01-12 11:26:36 +0000] [79] [CRITICAL] WORKER TIMEOUT (pid:219)
2023-01-12 03:26:36 [2023-01-12 11:26:36 +0000] [263] [INFO] Booting worker with pid: 263
2023-01-12 03:26:37 [2023-01-12 11:26:37 +0000] [79] [WARNING] Worker with pid 216 was terminated due to signal 9
2023-01-12 03:26:38 [2023-01-12 11:26:38 +0000] [265] [INFO] Booting worker with pid: 265
2023-01-12 03:26:39 [2023-01-12 11:26:39 +0000] [79] [WARNING] Worker with pid 219 was terminated due to signal 9
2023-01-12 03:26:40 [2023-01-12 11:26:40 +0000] [266] [INFO] Booting worker with pid: 266
2023-01-12 03:28:34 [2023-01-12 11:28:33 +0000] [79] [CRITICAL] WORKER TIMEOUT (pid:262)
2023-01-12 03:28:36 [2023-01-12 11:28:36 +0000] [79] [CRITICAL] WORKER TIMEOUT (pid:263)
2023-01-12 03:28:38 [2023-01-12 11:28:38 +0000] [79] [CRITICAL] WORKER TIMEOUT (pid:265)
2023-01-12 03:28:39 [2023-01-12 11:28:39 +0000] [79] [CRITICAL] WORKER TIMEOUT (pid:266)

...并且“工作线程超时-启动工作线程-工作线程超时”循环将永远持续下去。 现在,如果我按照本文“Airflow 安装 - Lite 版本”部分下的这篇文章 的建议注释掉(删除)撰写文件的 redis、airflow-workflow 和 airflow-triggerrer 部分,则一切运行正常一切都很健康。但是,我知道我将来会需要这些容器。

如果我已经用尽了 MacOS 资源,您建议我做什么?

(注意:Stack Overflow 上的这个问题提到了在桌面上运行时提高 Docker 内存作为解决方案。但是,正如您从上面的屏幕截图和文本中看到的,我已经尝试过,但没有成功。)

docker airflow
1个回答
0
投票

尝试在不同的机器(linux/windows)上运行相同的 docker 容器,看看问题是否是由于 macOS 上的 docker 造成的。

在具有苹果芯片的 Macos 机器上运行 docker 存在一些问题。这种情况通常发生在内存密集型应用程序中,导致内存泄漏,从而导致应用程序功能障碍,或者有时会出现奇怪的行为(例如,如果您使用的是 ML 模型)。看看这里

© www.soinside.com 2019 - 2024. All rights reserved.