我们的 GCP docker 实例已启动并正在运行,但是我们无法连接到 GreenPlum

Posted

技术标签:

【中文标题】我们的 GCP docker 实例已启动并正在运行,但是我们无法连接到 GreenPlum【英文标题】:Our GCP docker instance is up and running but then we are unable to connect to the GreenPlum 【发布时间】:2021-01-28 03:41:50 【问题描述】:

我们的 GCP docker 实例已启动并正在运行,但我们无法连接到 GreenPlum 并且它正在提供 与 xx.xxx.xxx.xx:5432 的连接被拒绝。检查主机名和端口是否正确以及 postmaster 是否接受 TCP/IP 连接。连接被拒绝(连接被拒绝)

我们在连接到托管在 GCP 的 docker 容器上的 Greenplum 数据库时遇到了这个问题。 已遵循以下步骤,但均无效:

    重启了 docker 实例

在重启 Greenplum 时,我尝试过 sudo docker exec -it gp_v1 /bin/bash -c 'sudo su - gpadmin -c ". /opt/greenplum-db-6.4.0/greenplum_path.sh ; gpstart -a"'

它给了

[ERROR]:- FATAL - no master dbs defined!

[CRITICAL] :- gpstart failed. (Reason='Error: GpArray() - no master dbs defined') exiting....

谁能帮我解决这个问题,这很关键,我们的 Greenplum 在过去 10 小时内都处于停机状态。

我还怀疑端口 5432 没有工作,当我在这个网站上查看时它显示关闭 https://www.yougetsignal.com/tools/open-ports/

【问题讨论】:

你为什么要连接一个封闭的端口? 实际上我正在尝试打开那个 5432 端口,但我找不到如何去做。我尝试了一些其他有助于更改端口号的帖子,但没有任何效果。 转到防火墙配置,为此创建一个规则,然后用它标记外部网络接口......也在Dockerfile中,您可能需要EXPOSE 5432 你为什么要使用 Docker?只需使用 Greenplum GCP Marketplace 列表即可。 【参考方案1】:

正如用户Martin Zeitler 建议的那样,您必须转到防火墙配置并为该端口创建规则。在这个link,您可以了解 VPC 防火墙规则概述。

另外,添加您的 Dockerfile EXPOSE 5432

【讨论】:

以上是关于我们的 GCP docker 实例已启动并正在运行,但是我们无法连接到 GreenPlum的主要内容,如果未能解决你的问题,请参考以下文章

GCP - 在实例启动后的特定时间(例如启动后 3 小时)启动对实例的关闭

GCP VM 启动和关闭脚本复制到哪里?

如何修改Docker已运行实例的端口映射

启动脚本未在启用自动缩放的 GCP Compute Engine Windows 服务器上运行

GCP:如何动态更改 VM 实例的公共 IP 并保持连接

如何更改在 DOCKER 容器内运行的 apache 的 httpd.conf 并重新启动 apache