启动Airflow Web服务器时出现以下错误
balajee@Balajees-MacBook-Air.local:〜$ airflow网络服务器-p 8080 [2018-12-03 00:29:37,066] { init .py:51}信息-使用执行程序SequentialExecutor
[2018-12-03 00:29:38,776] {models.py:271}信息-从/ Users / balajee / airflow / dags填充DagBag 使用以下命令运行Gunicorn服务器: 工人:4个同步 主持人:0.0.0.0:8080 超时:120
错误:没有名为“ airflow.www”的模块
答案 0 :(得分:3)
为我固定
pip3 uninstall -y gunicorn
pip3 install gunicorn==19.4.0
答案 1 :(得分:1)
我针对发生的问题执行了以下步骤:
conda activate
激活此环境pip install apache-airflow
No module named 'airflow.www'
要修复,请按照以下步骤操作:
whereis gunicorn
/home/yourname/anaconda3/envs/airflow_env/bin/gunicorn
另一种验证gunicorn是否在其他目录中的方法是打印PATH变量:echo $PATH
。在/home/yourname/.local/bin
和PATH中的另一个anaconda目录中查找gunicorn。删除所有引用。还要从conda base env中删除枪色豆:pip uninstall gunicorn
。
通过此步骤,我认为您的问题将得到解决。
我使用anaconda发行版,但我认为没有它也可以完成相同的过程。我使用了气流1.10.0和python 3.6。
答案 2 :(得分:0)
您好像对gunicorn有问题。 尝试执行以下两个命令:
sudo -H pip3 uninstall -y gunicorn
sudo -H pip3 install gunicorn
它应该可以解决您的问题,导致气流向您显示不清晰的错误消息,与枪支问题有关
答案 3 :(得分:0)
今天早上我遇到了这个问题,我找到了一个奇怪的解决方案,可能对您有帮助。我想也许您只是需要更改命令运行目录。
在PyCharm帮助下,我在airflow
目录virtualenv
中安装了venv
基本依赖项,并使用PyCharm内置的Terminal
标签直接访问了我的venv
,并且我使用airflow initdb
初始化sqlite数据库来存储我的所有日志和操作,然后根据官方教程使用airflow webserver
启动Web服务器。但是今天不知何故,我使用我的Mac终端,启动virtulenv,启动airflow网络服务器,并且遇到了以下问题:
Running the Gunicorn Server with:
Workers: 4 sync
Host: 0.0.0.0:8080
Timeout: 120
Logfiles: - -
=================================================================
Error: No module named 'airflow.www'
[2019-05-26 07:45:27,130] {cli.py:833} ERROR - No response from gunicorn master within 120 seconds
[2019-05-26 07:45:27,130] {cli.py:834} ERROR - Shutting down webserver
然后我通过重新安装gunicorn
来尝试@Evgeniy Sobolev的解决方案,但没有做任何更改,但是当我仍然使用PyCharm Terminal时,它仍然可以成功运行。我猜可能是因为 first directory
您初始化数据库并且运行Web服务器至关重要。默认情况下,当我使用PyCharm Terminal初始化db并启动webserver时,是Project root directory
,例如:
(venv) root@root:~/GitHub/FakeProject$ airflow webserver
但是今天我登录venv
以启动virtualenv,并且根目录已更改!
root@root:~/GitHub/FakeProject/SubDir$ source venv/bin/activate
(venv) root@root:~/GitHub/FakeProject/SubDir$ airflow webserver
** Error **
因此,它遇到Error: No module named 'airflow.www'
,因此我签出目录,并且Web服务器像PyCharm Terminal一样成功运行:
(venv) root@root:~/GitHub/FakeProject/SubDir$ cd ..
(venv) root@root:~/GitHub/FakeProject$ airflow webserver
** It works **
我认为气流可能会在首次启动气流数据库时存储一些元数据(例如,设置PATH),因此您无法更改命令运行目录。
我希望它将来可以对某人有所帮助。 只需检查您的目录!
答案 4 :(得分:0)
如果您在安装过程中为气流定义了一个自定义主目录,而不是默认目录(~/airflow
):
export AIRFLOW_HOME=/your/custom/path/airflow
airflow webserver -p 8080
airflow scheduler
答案 5 :(得分:0)
请检查服务器中是否已经安装了gunicorn。对我来说,它安装在/ usr / local / bin中,并且优先于通过气流安装的gunicorn版本。卸载较早的版本或修复$ PATH变量
答案 6 :(得分:0)
我通过从气流文件夹本身启动网络服务器解决了这个问题。
我之前尝试从主目录打开服务器,但找不到所需的模块,这可能就是这种情况。
聚会迟到,但可以帮助到这里的其他人。
答案 7 :(得分:-1)
我今天遇到了同样的错误,一个sudo
帮了我大忙
答案 8 :(得分:-1)
我添加了sudo
,它实际上可以正常工作。