2

目前我们正在使用自己在 Kubernetes 上安装的 Airflow 版本,但我们的想法是在 Cloud Composer 上进行迁移。我们使用 Airflow 使用自定义版本的 DataFlowJavaOperator(使用插件)运行数据流作业,因为我们需要执行不是自包含在 jar 中的 java 应用程序。所以我们基本上运行一个启动命令的 bash 脚本:

java -cp jar_folder/* MainClass

所有 jar 依赖项都存储在所有工作人员之间的共享磁盘中,但 Composer 中缺少此功能,我们被迫使用 Cloud Storage 共享作业二进制文件。问题是使用 gcsfuse 从指向 GCS 的目录运行 java 程序非常慢。

您对在 Cloud Composer 中实现这种场景有什么建议吗?

谢谢

4

1 回答 1

1

Composer 自动将放置在gs://{your-bucket}/dagsgs://{your-bucket}/plugins本地 Pod 文件系统中的内容同步。我们希望只复制 dag 和插件源代码,但不会阻止任何人存储其他二进制文件(尽管不建议这样做,因为您可能会超出磁盘容量,此时工作流执行会因本地空间不足而受到影响)。

仅供参考 - 本地文件系统路径分别为:/home/airflow/gcs/dags/home/airflow/gcs/plugins

于 2018-06-11T09:08:00.670 回答