我尝试将气流DAG部署到AWS EC2。我按照aws-airflow-stack上的说明进行操作。气流在EC2上运行良好。 在EC2实例中,有两个airflow.cfg文件,它们位于:
/airflow/airflow.cfg
/home/ec2-user/airflow/airflow.cfg
在文件夹“ / airflow”中,Dags数据存在于此。 在文件夹“ / home / ec2-user / airflow”中,仅包含airflow.cfg,airflow.db,日志和unittests.cfg文件。两者均具有默认设置。
现在,我需要在Postgers数据库上添加一些用户,将[webserver] authenticate = true和rbac = true放在我的本地airflow.cfg中,并使用CodeDeploy部署此配置文件,部署失败。检查日志,安装中事件。消息是 “部署失败,因为在此位置已经存在指定的文件:/airflow/airflow.cfg”。 我该如何解决这个问题?如何将本地气流配置文件部署到EC2?任何建议都欢迎。
答案 0 :(得分:1)
您还可以提供用于触发CodeDeploy的命令吗?
example Makefile中的命令指定应覆盖现有文件:
aws deploy create-deployment \
--application-name $(APPLICATION) \
--deployment-group-name $(DEPLOYMENT_GROUP) \
--s3-location bucket=$(DEPLOYMENTS_BUCKET),bundleType=tgz,key=$(PACKAGE) \
--deployment-config-name CodeDeployDefault.AllAtOnce \
--file-exists-behavior OVERWRITE
特别注意--file-exists-behavior OVERWRITE
部分。使用Makefile进行部署将确保您的airflow.cfg
文件将替换现有文件。