我正在尝试将apache airflow作为一个docker运行在Centos 7机器上。我遵循了这里的所有指令:https://airflow.apache.org/docs/apache-airflow/stable/start/docker.html当我试图通过运行docker-compose up airflow-init来初始化docker时
我得到了这个错误
[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,但是我不知道如何解决这个问题。有什么建议吗?
发布于 2021-03-31 15:18:44
我找到问题了。2.0.1版本中有一个错误,它不允许你使用root来运行气流容器。您必须使用另一个用户名(使用sudo)运行安装。
发布于 2021-04-10 02:37:34
如果未在.env
文件中正确设置AIRFLOW_GID
,则可能发生这种情况。
这些说明包括运行命令echo -e "AIRFLOW_UID=$(id -u)\nAIRFLOW_GID=0" > .env
。要检查它是否按预期工作,可以通过运行cat .env
查看.env
文件的内容。您应该会看到如下所示的内容:
AIRFLOW_UID=1000
AIRFLOW_GID=0
否则,可能需要手动编辑.env
文件以设置气流uid和gid。
发布于 2021-04-21 19:01:19
我用这种方式解决了这个问题。
使用非root用户登录。
查找您的用户id:
echo $UID
创建.env文件,并将这些行放入其中。将4003替换为您的用户id:
AIRFLOW_UID=4003
AIRFLOW_GID=0
如果您尚未创建这些目录,请先创建这些目录,然后运行docker-compose:
sudo mkdir ./dags ./logs ./plugins
sudo chmod 777 -R logs
sudo docker-compose up airflow-init
sudo docker-compose up
https://stackoverflow.com/questions/66791752
复制相似问题