如何将气流调度器部署到AWS EC2?

编程入门 行业动态 更新时间:2024-10-08 05:28:13
本文介绍了如何将气流调度器部署到AWS EC2?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在尝试使用Airflow在AWS上建立一条简单的数据管道。 我已经创建了一个DAG,它每天将数据抓取到S3,然后使用在EMR上运行的Spark作业进行处理。

我当前在本地笔记本电脑上运行气流计划程序,但我当然知道这不是一个好的长期解决方案。

所以我想了解一些关于将调度程序部署到EC2的提示(实例大小、部署进程或任何其他有用的信息)

推荐答案

在本地运行通常不是可行的后期测试阶段。因此,您需要一个正在运行的服务器。以下是将其部署到AWS EC2的选项和指南。

您可以使用扩展坞/气流图像在EC2实例上部署气流。T3.中等就够了。通常不会有太多DAG。我们可以创建一个每隔7天运行一次的工作流,并清理日志文件,所以在磁盘方面,如果内存消耗保持不变,就不会有问题。您可以像在本地计算机上一样在EC2上正常安装和配置气流,但我更喜欢通过Puckelhere使用坞站映像进行设置。

首先,您可以使用安装了docker的AMI,也可以自己安装。

下一步,从扩展坞中拉出图像

docker pull puckel/docker-airflow 在这里,您可能会遇到SQLAlChemy版本合并问题(如果没有,则忽略此步骤)。因此将DockerFile中此行更改为使用其他版本的气流,如1.10.10

ARG AIRFLOW_VERSION=1.10.9 # change this to 1.10.10 ( or hardcode sqlalchmy version)

接下来,您可能需要在postgres中添加用户。

现在您可以将其作为

运行 docker run -d -p 8080:8080 puckel/docker-airflow webserver

要进入命令行(用于启动executor、scheduler等),请从

抓取容器名称/id docker ps

并使用此命令

docker exec -ti <name_of_container> bash

另外,为了使用docker DAGS文件夹挂载EC2文件夹,您可以如下所示挂载它,您的DAG将与气流DAG同步

docker run -d -p 8080:8080 -v /path/to/dags/on/your/ec2/folder/:/usr/local/airflow/dags puckel/docker-airflow webserver

为了从任何其他计算机(您自己的笔记本电脑)在浏览器中访问此内容

首先,从您的IP的安全组中启用ec2http端口8080

从浏览器中,您可以

<ec2-public-ip>:8080

其他第三方管理选项在AWS上运行Airflow

Astronomer是一家在所有云平台上提供全托管气流的公司,具有高级监控等功能。他们的团队中有一些顶级的气流贡献

成本:

在t3媒体上运行整个月的气流每月成本约为32.37美元,可以calculated here

天文学家每10 AU(1个CPU,3.75 GB内存)的成本约为100$/month(但也有折衷,由天文学家管理,他们提供支持等)

更多推荐

如何将气流调度器部署到AWS EC2?

本文发布于:2023-11-23 21:39:19,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1622929.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:气流   如何将   AWS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!