【问题标题】:Apache Airflow Distributed ProcessingApache Airflow 分布式处理
【发布时间】:2018-02-18 02:12:27
【问题描述】:

我对 Apache Airflow 的架构感到困惑。

如果我知道, 当您在 oozie 中执行 hql 或 sqoop 语句时,oozie 会将请求定向到数据节点。

我想在 Apache Airflow 中实现同样的目标。我想执行一个 shell 脚本、hql 或 sqoop 命令,并且我想确保我的命令正在由数据节点分布式执行。 Airflow 有不同的执行器类型。我应该怎么做才能同时在不同的数据节点中运行命令?

【问题讨论】:

    标签: hadoop oozie airflow apache-airflow airflow-scheduler


    【解决方案1】:

    您似乎想在分布式工作人员上执行任务。在这种情况下,请考虑使用CeleryExecutor

    CeleryExecutor 是您可以扩展数量的方法之一 工作人员。为此,您需要设置 Celery 后端 (RabbitMQ,Redis,...)并更改您的airflow.cfg 以指向执行程序 参数给 CeleryExecutor 并提供相关的 Celery 设置。

    见:https://airflow.apache.org/configuration.html#scaling-out-with-celery

    【讨论】:

      【解决方案2】:

      Oozie 与 Hadoop 节点紧密耦合,所有脚本都需要上传到 HDFS,而带有 Celery Executor 的 Airflow 具有更好的架构。使用 Celery executor 相同的脚本,hql 可以通过使用正确的队列在多个节点以及特定节点中同时执行,并且一些工作人员可以侦听特定队列以执行这些操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-11-24
        • 1970-01-01
        • 2022-12-03
        • 2016-06-04
        • 2014-08-02
        • 1970-01-01
        • 2017-09-25
        相关资源
        最近更新 更多