写点什么

大数据调度平台 Airflow(七):Airflow 分布式集群搭建原因及其他扩展

作者:Lansonli
  • 2022 年 9 月 24 日
    广东
  • 本文字数:914 字

    阅读完需:约 3 分钟

大数据调度平台Airflow(七):Airflow分布式集群搭建原因及其他扩展

Airflow 分布式集群搭建原因及其他扩展

一、Airflow 分布式集群搭建原因

在稳定性要求较高的场景中,例如:金融交易系统,airflow 一般采用集群、高可用方式搭建部署,airflow 对应的进程分布在多个节点上运行,形成 Airflow 集群、高可用部署,架构图如下:

以上集群、高可用方式搭建 Airflow 好处如下:

  • 如果一个 worker 节点崩溃挂掉,集群仍然可以正常利用其他 worker 节点来调度执行任务。

  • 当工作流中有内存密集型任务,任务最好分布在多态机器上执行以得到更好效果,airflow 分布式集群满足这点。

二、Airflow 分布式集群其他扩展

1、扩展 Worker 节点

我们可以通过向集群中添加更多的 worker 节点来水平扩展集群,并使这些新节点使用同一个元数据库,从而分布式处理任务。由于 Worker 不需要再任何进程注册即可执行任务,因此 worker 节点可以在不停机,不重启服务下的情况进行扩展。

我们也可以通过增加单个 worker 节点的进程数来垂直扩展集群,可以通过修改 airflow 配置文件 AIRFLOW_HOME/airflow.cfg 中 celeryd_concurrency 的值来实现,例如:celeryd_concurrency=30,我们可以根据集群上运行任务性质、CPU 的内核数量等增加 Worker 单节点并发数量来满足实际需求。

扩展 worker 节点后的架构如下:

2、扩展 Master 节点

我们还可以向集群中添加更多的主节点,以扩展主节点上运行的服务。我们可以扩展 webserver,防止太多的 HTTP 请求出现在一台机器上防止 webserver 挂掉,需要注意,Master 节点包含 Scheduler 与 webServer,在一个 Airflow 集群中我们只能一次运行一个 Scheduler 进程,如果有多个 Scheduler 运行,那么可能出现同一个任务被执行多次,导致任务流重复执行。

Master 扩展参照后续 Airflow 分布式集群搭建,扩展 Master 后的架构如下:

3、Scheduler HA

扩展 Master 后的 Airflow 集群中只能运行一个 Scheduler,那么运行的 Scheudler 进程挂掉,任务同样不能正常调度运行,这种情况我们可以在两台机器上部署 scheduler,只运行一台机器上的 Scheduler 进程,一旦运行 Schduler 进程的机器出现故障,立刻启动另一台机器上的 Scheduler 即可,这种就是 Schduler HA,我们可以借助第三方组件 airflow-scheduler-failover-controller 实现 Scheduler 的高可用。

详细操作参照后续 Airflow 分布式集群搭建,加入 Scheduler HA 的架构如下:


发布于: 刚刚阅读数: 8
用户头像

Lansonli

关注

微信公众号:三帮大数据 2022.07.12 加入

CSDN大数据领域博客专家,华为云享专家、阿里云专家博主、腾云先锋(TDP)核心成员、51CTO专家博主,全网六万多粉丝,知名互联网公司大数据高级开发工程师

评论

发布
暂无评论
大数据调度平台Airflow(七):Airflow分布式集群搭建原因及其他扩展_airflow_Lansonli_InfoQ写作社区