【发布时间】:2019-03-23 10:06:14
【问题描述】:
我正在尝试设置谷歌云平台 Airflow 托管服务(云作曲家),使其能够在我的本地 Hadoop 集群而不是谷歌云上触发工作流中的任务。我无法找到有关此的太多信息。 Cloud Composer 文档讲述了在 Google 云中的共享 VPC 上触发作业,但不是在本地的。任何帮助将不胜感激。
【问题讨论】:
标签: google-cloud-platform airflow google-cloud-composer
我正在尝试设置谷歌云平台 Airflow 托管服务(云作曲家),使其能够在我的本地 Hadoop 集群而不是谷歌云上触发工作流中的任务。我无法找到有关此的太多信息。 Cloud Composer 文档讲述了在 Google 云中的共享 VPC 上触发作业,但不是在本地的。任何帮助将不胜感激。
【问题讨论】:
标签: google-cloud-platform airflow google-cloud-composer
Cloud Composer 使用 GKE 集群中的 CeleryExecutor pod 运行其工作程序。要在您的本地基础设施中触发任务,您需要配置 Composer 环境,以便 GKE 集群可以与您自己的网络基础设施进行访问,除非您的基础设施可以从公共互联网访问。
为此,请考虑调查Google Cloud Hybrid Connectivity。您可以使用 Cloud Interconnect 和 Cloud VPN 将您的本地基础架构与 VPC 对等,您可以配置 Composer 以使用该 VPC。
【讨论】:
假设您正在运行 Spark,您可以在 Airflow 中使用 SparkSubmitOperator。将提交给 Spark 的作业(jar 或 py 文件)必须连接到本地 Hadoop 集群的 IP 地址。请注意,远程运行此 Spark 作业将需要您正确配置防火墙(不推荐),或者实际上需要在共享 VPC 中运行。后者创建一个私有网络,其中包含您的集群和 Airflow 设置,这允许两个系统相互安全地通信。
【讨论】: