如何将气流调度器部署到AWS EC2? [英] how do I deploy my Airflow Scheduler to AWS EC2?

查看:0
本文介绍了如何将气流调度器部署到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

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

抓取容器名称/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?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆