首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >初始化Apache airflow docker时没有名为'airflow‘的模块

初始化Apache airflow docker时没有名为'airflow‘的模块
EN

Stack Overflow用户
提问于 2021-03-25 09:23:29
回答 3查看 1.6K关注 0票数 2

我正在尝试将apache airflow作为一个docker运行在Centos 7机器上。我遵循了这里的所有指令:https://airflow.apache.org/docs/apache-airflow/stable/start/docker.html当我试图通过运行docker-compose up airflow-init来初始化docker时

我得到了这个错误

代码语言:javascript
运行
复制
[root@centos7 centos]# docker-compose up airflow-init
Creating network "centos_default" with the default driver
Creating volume "centos_postgres-db-volume" with default driver
Creating centos_redis_1    ... done
Creating centos_postgres_1 ... done
Creating centos_airflow-init_1 ... done
Attaching to centos_airflow-init_1
airflow-init_1       | BACKEND=postgresql+psycopg2
airflow-init_1       | DB_HOST=postgres
airflow-init_1       | DB_PORT=5432
airflow-init_1       |
airflow-init_1       | Traceback (most recent call last):
airflow-init_1       |   File "/home/airflow/.local/bin/airflow", line 5, in <module>
airflow-init_1       |     from airflow.__main__ import main
airflow-init_1       | ModuleNotFoundError: No module named 'airflow'
airflow-init_1       | Traceback (most recent call last):
airflow-init_1       |   File "/home/airflow/.local/bin/airflow", line 5, in <module>
airflow-init_1       |     from airflow.__main__ import main
airflow-init_1       | ModuleNotFoundError: No module named 'airflow'
airflow-init_1       | Traceback (most recent call last):
airflow-init_1       |   File "/home/airflow/.local/bin/airflow", line 5, in <module>
airflow-init_1       |     from airflow.__main__ import main
airflow-init_1       | ModuleNotFoundError: No module named 'airflow'
airflow-init_1       | Traceback (most recent call last):
airflow-init_1       |   File "/home/airflow/.local/bin/airflow", line 5, in <module>
airflow-init_1       |     from airflow.__main__ import main
airflow-init_1       | ModuleNotFoundError: No module named 'airflow'
airflow-init_1       | Traceback (most recent call last):
airflow-init_1       |   File "/home/airflow/.local/bin/airflow", line 5, in <module>
airflow-init_1       |     from airflow.__main__ import main
airflow-init_1       | ModuleNotFoundError: No module named 'airflow'
centos_airflow-init_1 exited with code 1

我使用了这里的标准YAML文件:https://airflow.apache.org/docs/apache-airflow/2.0.1/docker-compose.yaml,我发现这是一个已知的问题:https://github.com/apache/airflow/issues/14520,但是我不知道如何解决这个问题。有什么建议吗?

EN

回答 3

Stack Overflow用户

发布于 2021-03-31 15:18:44

我找到问题了。2.0.1版本中有一个错误,它不允许你使用root来运行气流容器。您必须使用另一个用户名(使用sudo)运行安装。

票数 1
EN

Stack Overflow用户

发布于 2021-04-10 02:37:34

如果未在.env文件中正确设置AIRFLOW_GID,则可能发生这种情况。

这些说明包括运行命令echo -e "AIRFLOW_UID=$(id -u)\nAIRFLOW_GID=0" > .env。要检查它是否按预期工作,可以通过运行cat .env查看.env文件的内容。您应该会看到如下所示的内容:

代码语言:javascript
运行
复制
AIRFLOW_UID=1000
AIRFLOW_GID=0

否则,可能需要手动编辑.env文件以设置气流uid和gid。

票数 0
EN

Stack Overflow用户

发布于 2021-04-21 19:01:19

我用这种方式解决了这个问题。

使用非root用户登录。

查找您的用户id:

代码语言:javascript
运行
复制
echo $UID

创建.env文件,并将这些行放入其中。将4003替换为您的用户id:

代码语言:javascript
运行
复制
AIRFLOW_UID=4003
AIRFLOW_GID=0

如果您尚未创建这些目录,请先创建这些目录,然后运行docker-compose:

代码语言:javascript
运行
复制
sudo mkdir ./dags ./logs ./plugins
sudo chmod 777 -R logs 
sudo docker-compose up airflow-init
sudo docker-compose up 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66791752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档