我使用Terraform创建一个使用GCP cloudsql实例作为hivemetastore的数据集群,terrafrm项目创建集群及其所有先决条件(网络,服务帐户,cloudsql实例和用户等)。
提供cloud-sql-proxy.sh
是为了协助这个,但是我无法让它工作,当创建集群时cloud-sql-proxy.sh
失败并出现错误:
nc:连接到localhost端口3306(tcp)失败:连接被拒绝
我试图弄清楚为什么但是无法触及它的底部撞墙,所以我希望有人可以提供帮助。
我在https://github.com/jamiekt/democratising-dataproc主持了这个terraform项目。重现问题非常简单,请按照下列步骤操作:
gcloud
gcloud auth application-default login #creates a file containing credentials that terraform will use
git clone [email protected]:jamiekt/democratising-dataproc.git && cd democratising-dataproc
export GCP_PROJECT=name-of-project-you-just-created
make init
make apply
这应该成功地启动网络,子网,cloudsql实例,几个存储桶(其中一个包含cloud-sql-proxy.sh),服务帐户,防火墙然后在尝试创建数据集群时失败。
如果有人可以看看并告诉我为什么这是失败我会非常感激。
您似乎没有在cloud-sql-proxy.sh模板(cloud-sql-proxy.sh.tmpl)中使用最新版本的diff脚本。
您可能希望尝试使用Dataproc Cloud SQL I/O and Hive Metastore初始化操作中的最新脚本版本更新模板。
这里有一些问题现在已经解决了:
hive:hive.metastore.warehouse.dir
property needed settinghost = '%'
)state of the repo at the time of posting this message将按预期工作(即使用Terraform创建一个使用共享蜂巢Metastore的数据集群)。
感谢@ igor-dvorzhak的回复,您对配置Hive Metastore以使用Cloud SQL的文章的链接让我走上了正轨。