私有 Data Fusion 实例无法写入私有 CloudSQL 实例

问题描述 投票:0回答:1

我正在学习 gcp,我有一个关于 Data Fusion 执行管道的问题。我有一个私有数据融合实例和一个运行 postgres 的私有 CloudSQL 实例。我将它们连接到同一个 VPC(该 VPC 仅包含一个子网)。我还为他们设置了一个 ProxyVM,因为我正在使用这个guide,但我确实需要更改一些东西,例如所使用的驱动程序。该指南指出我需要使用“普通”JDBC 驱动程序而不是 cloudSQL 版本。然而,这对我不起作用,但它确实适用于 CloudSQL-Postgres JDBC 驱动程序。连接似乎成功了,至少 gcp 是这么告诉我的。

当我尝试运行管道时,问题就出现了。管道的想法只是将 google 云存储中的 csv 文件传输到 postgres cloudSQL 实例的表中。在管道设置过程中,我也没有收到任何错误。一旦我部署并运行管道,就会出现错误,并提到“架构验证失败。

确切的错误消息:“尝试验证数据库表公共架构时出现异常。””连接 jdbc:postgresql:///。“

还值得一提的是,当我在数据库和数据融合中将整个模式转换为“字符串”时,“预览”模式成功运行,但当我实际部署和运行它时再次崩溃。

所以我的问题是,问题云是什么。 对于 Dataproc,我还了解到,如果我在新的 VPC 中部署 Dataproc 集群(我所做的),我需要设置适当的防火墙规则(根据此文档)。我确实制定了这个规则。

也许我配置的虚拟机错误,或者我刚刚部署的管道完全错误。我还能够毫无问题地将数据从本地数据库传输到 GCP-Storage。就在我使用 CloudSQL 作为接收器时,我收到此错误。

非常感谢任何帮助。

google-cloud-platform google-cloud-sql google-cloud-data-fusion
1个回答
0
投票

我确实让它发挥作用了。问题是我太严格地遵循指南了。在指南中,在虚拟机设置期间说了以下内容:

“gcloud 计算防火墙规则创建allow-private-cdf
--allow=tcp:22,tcp:${SQL_PORT}
--source-ranges=$CDF_IP_RANGE --network=$NETWORK --project=$PROJECT”

显然,防火墙规则还需要允许 VPC 中的 dataproc 集群访问代理虚拟机。在我添加后,它按预期工作。

这解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.