使用Mesos扩展(社区贡献)

    有两种方法可以将Airflow作为mesos框架运行:

    1. 想要直接在mesos slaves上运行Airflow任务,要求每个mesos slave安装和配置Airflow。
    2. 在安装了Airflow的docker容器内运行Airflow任务,该容器在mesos slave上运行。

    允许您在Mesos群集上调度Airflow任务。为此,您需要一个正在运行的mesos集群,并且必须执行以下步骤 -

    1. 在 Airflow server 上,从安装mesos python eggs。
    2. 在 Airflow server 上,使用可以被所有mesos slave访问的数据库(例如mysql),并在airflow.cfg添加配置。
    3. 将您的airflow.cfg里 executor 的参数指定为MesosExecutor,并提供相关的Mesos设置。
    4. 在所有mesos slave上,安装Airflow。 从Airflow服务器复制 (以便它使用相同的sqlalchemy连接)。
    1. 在 Airflow server 上,如果想要开始在mesos上处理/调度DAG,请运行:
    1. airflow scheduler -p

    注意:我们需要-p参数来挑选DAG。

    有关mesos的更多信息,请参阅mesos文档。 有关MesosExecutor的任何疑问/错误,请联系。

    在mesos slave上的容器中执行的任务

    此gist包含实现以下所需的所有文件和配置更改:

    1. 使用安装了mesos python eggs的软件环境创建一个dockerized版本的Airflow。
    1. airflow.cfg创建一个mesos配置块。
    1. 确保您的mesos slave可以访问您docker_image_slave的docker存储库。