基于puckel的Airflow v1.9.0 docker部署刚刚破坏了这个错误:
Traceback (most recent call last):
File "/usr/local/bin/airflow", line 27, in <module>
args.func(args)
File "/usr/local/lib/python2.7/dist-packages/airflow/bin/cli.py", line 891, in worker
worker.run(**options)
File "/usr/local/lib/python2.7/dist-packages/celery/bin/worker.py", line 255, in run
**kwargs)
File "/usr/local/lib/python2.7/dist-packages/celery/worker/worker.py", line 99, in __init__
self.setup_instance(**self.prepare_args(**kwargs))
File "/usr/local/lib/python2.7/dist-packages/celery/worker/worker.py", line 122, in setup_instance
self.should_use_eventloop() if use_eventloop is None
File "/usr/local/lib/python2.7/dist-packages/celery/worker/worker.py", line 241, in should_use_eventloop
self._conninfo.transport.implements.async and
File "/usr/local/lib/python2.7/dist-packages/kombu/transport/base.py", line 125, in __getattr__
raise AttributeError(key)
AttributeError: async
答案 0 :(得分:3)
与刚报告kombu从4.1.0更新到4.2.0的Celery AttributeError: async error错误有关。我通过切换下面的安装顺序修复了它:
&& pip install kombu==4.1.0 \
&& pip install celery[redis]==4.0.2 \
&& pip install apache-airflow[crypto,celery,postgres,hive,jdbc,mysql,s3]==$AIRFLOW_VERSION \
好像kombu需要在源代码中固定到这个版本......
答案 1 :(得分:2)
Cobman解决方案有效,只是仅供参考,您也可以通过升级Celery版本来修复它(正如他们在其存储库中推荐的那样)
&& pip install celery[redis]==4.1.1