【发布时间】:2017-12-02 22:27:32
【问题描述】:
我正在尝试在 Kubernetes 上测试 Airflow。 Scheduler、Worker、Queue 和 Webserver 都在不同的部署中,我使用 Celery Executor 来运行我的任务。
除了调度程序无法排队作业之外,一切都运行良好。当我从 Web UI 或 CLI 手动执行 Airflow 时,它能够正常运行我的任务,但我正在尝试测试调度程序以使其工作。
我的配置几乎和单台服务器上的一样:
sql_alchemy_conn = postgresql+psycopg2://username:password@localhost/db
broker_url = amqp://user:password@$RABBITMQ_SERVICE_HOST:5672/vhost
celery_result_backend = amqp://user:password@$RABBITMQ_SERVICE_HOST:5672/vhost
我相信通过这些配置,我应该能够使其运行,但由于某种原因,只有工作人员能够看到 DAG 及其状态,而不是调度程序,即使调度程序能够记录他们的心跳就好了。还有什么我应该调试或查看的吗?
【问题讨论】:
-
airflow 有几个已知的 celery 错误,执行器有一些错误...
-
@Liqiang 那你会推荐什么?我相信 Celery 是进行分布式任务执行的唯一方法
-
是的,Celery 是 Python 语言中唯一强大且稳定的分布式任务执行,在我看来,我建议不要使用气流运行,而是使用 celery 本身。
标签: rabbitmq kubernetes airflow airflow-scheduler