关闭。这个问题是基于意见的。它目前不接受答案。
**想改进这个问题吗?**更新这个问题,这样就可以通过编辑这篇文章用事实和引文来回答。
4个月前关门了。
改进这个问题
我正在尝试使用气流在aws上构建一个简单的数据管道。我创建了一个dag,它每天将数据刮到s3,然后在emr上运行spark作业来处理它。
我目前正在本地运行我的笔记本电脑上的气流调度程序,但我当然知道这不是一个好的长期解决方案。
所以我想知道一些关于将我的调度器部署到ec2的技巧(istance大小、部署过程或任何其他有用的信息)
2条答案
按热度按时间ttisahbt1#
本地运行通常不是一个可行的测试后阶段。所以你需要一个正在运行的服务器。以下是将其部署到AWSEC2的选项和指南。
您可以使用docker/airflow映像在ec2示例上部署airflow。t3.中等就够了。通常没有太多的DAG。我们可以创建一个每7天运行一次的工作流,并清理日志文件,因此在磁盘方面,如果内存消耗保持不变,就不会有问题。你可以像在本地计算机上一样在ec2上安装和配置气流,但我更喜欢用puckel的docker image在这里设置气流。
首先,您可以使用ami安装docker,也可以自己安装。
接下来,从docker中提取图像
在这里,您可能会遇到sqlalchemy版本conflit的问题(如果不是,请忽略此步骤)。所以把这一行改过来
DockerFile
使用另一个版本的气流,更高,如1.10.10接下来,您可能需要在postgres中添加一个用户。
现在你可以用
为了进入命令行(用于启动
executor
,scheduler
etc),从使用这个命令
另外,为了挂载ec2文件夹与docker dags文件夹,您可以像下面一样挂载它,您的dags将与气流dags同步
为了从任何其他计算机(您自己的笔记本电脑)在浏览器中访问此文件
首先,启用
ec2
http
港口8080
来自您ip的安全组从浏览器中,您可以访问它作为
在aws上运行airflow的其他第三方管理选项
Astronometer是一家在所有云平台上提供全托管气流的公司,具有先进的监控功能等。他们的团队中有一些顶级气流贡献
成本:
t3.medium上整个月的运行气流的月成本约为32.37美元,可在此计算
天文学家的成本约为100美元/月/10AU(1个cpu,3.75GB内存)(但也有权衡,由天文学家管理,他们提供支持等)
9gm1akwq2#
您需要在ec2机器上安装airflow来管理emr集群的所有这些请求。
跟随气流安装
https://airflow.apache.org/docs/stable/installation.html
你可以在这里检查所有的气流执行器-
https://airflow.apache.org/docs/stable/executor/index.html
我建议你为此安装celery 执行器。在您的ec2机器上,您应安装至少3个来自airflow的服务
airflow Web服务器-访问airflow用户界面
airflow webserver start
气流调度器-触发你的DAGairflow scheduler start
airflow worker-运行任务airflow worker start
也非常推荐您安装数据库(mysql,postgres)来存储来自aifflow的元数据。您可以在ec2机器外部以aws rds postgres的形式运行此数据库,然后可以用数据库的连接字符串信息编辑airflow.cfg文件。