我有一个AWS EMR集群,其中包含1个主节点、30个核心节点和一些自动扩展的任务节点。现在,成百上千的Hive和mysql作业由Oozie在集群上运行。我要把一些工作从Oozie换成Airflow。我搜索了一下,将气流应用到我的集群中。我发现所有的dag都应该位于每个节点上,而且Airflow Worker必须安装在所有节点上。但是,我的dag将频繁更新,并频繁添加新的dag,但节点数量约为100个,甚至使用自动缩放的节点。而且,如您所知,只有主节点在集群上有hive/mysql应用程序。所以我很困惑。谁能告诉我适用于EMR集群的Airflow架构?
发布于 2019-09-24 23:45:10
Airflow worker节点与EMR节点不同。
在典型的设置中,芹菜工人(“气流工人节点”)从作业队列中读取数据,并使用适当的操作符(在本例中可能是SparkSubmitOperator或SSHOperator)执行这些作业。
Celery工作线程不会在EMR节点上运行,因为这些节点专用于运行Hadoop作业。
Celery工作人员可能会在EMR集群之外的EC2s上运行。
要在每个celery worker上使用相同的DAGs,一种常见的解决方案是将dags放在网络存储(如EFS)上,并将网络驱动器挂载到celery worker EC2s。
https://stackoverflow.com/questions/58080094
复制相似问题