气流:何时使用CeleryExecutor,何时使用MesosExecutor



我是Airflow的新手,正在努力了解我们应该如何在我们的环境中(在aws上)设置它。

我读到气流使用芹菜与redis经纪人。它和Mesos有什么不同?我以前没有使用过Celery,但我试着在我的开发机器上设置芹菜redi,它很容易工作。但添加新组件意味着添加更多的监控。

由于我们已经使用mesos进行集群管理,我想,如果我不选择芹菜,而是使用mesosExecutitor,我会错过什么?

使用Celery是目前较为成熟/稳定的方法。

对我们来说,使用容器管理依赖关系比管理Mesos实例上的依赖关系更方便,如果您选择MesosExecutor就是这样。因此,我们发现芹菜更灵活。

我们目前正在使用Celery+RabbitMQ,但随着我们的代码库的稳定,我们将在未来改用MesoExecutitor。

使用CeleryExecuter的气流不一定需要使用Redis Broker。芹菜可以使用的任何代理都与气流兼容,但建议使用RabbitMQ代理或Redis代理。

芹菜与Mesos大不相同。虽然气流也支持MesosExecutor,但如果您计划分配工作人员,建议使用CeleryExecutor。据我所知,Airbnb使用CeleryExecutitor并积极维护它。

对于我们来说,不能使用MesosExecutor。我们需要一个抽象级别来处理作业的依赖关系,我们不能(也不应该)依赖于安装在mesos从服务器上的任何依赖关系。当Docker容器和/或Mesos容器将由MesosExecutitor支持时,我们可以求助于它。此外,我喜欢看到马拉松内部分配的工人。我正在研究如何通过Marathon自动调整员工规模。

MesosExecutor现阶段仍处于实验阶段,不支持运行Docker容器,每个任务有不同的资源限制,可能还有许多其他限制。

不过,我计划进行这项工作,这是一项社区工作,并且在部署Mesos集群方面花费了一些精力,我觉得添加Celery和另一个MQ代理是浪费资源。

相关内容

  • 没有找到相关文章

最新更新