连接问题的发现及解决
连接问题的发现及解决
很多事情都可能阻止客户端应用成功地连接到Greenplum数据库。这个主题解释了一些常见的连接问题 的原因以及如何改正它们。
问题 | 解决方案 |
---|---|
没有用于主机或者用户的pg_hba.conf配置 | 要允许Greenplum数据库接受远程客户端连接,用户必须配置用户的Greenplum 数据库的Master实例,这样来自于客户端主机和数据库用户的连接才会被允许连接到Greenplum数据库。 这可以通过在pg_hba.conf配置文件(位于Master实例的数据目录中)中增加 合适的条目就能做到。更多详细的信息请见允许访问Greenplum数据库。 |
Greenplum数据库没有运行 | Greenplum数据库的Master实例没有运行,用户将无法连接。 用户可以通过在Greenplum的Master主机上运行gpstate工具来 验证Greenplum数据库系统是否正常运行。 |
网络问题 Interconnect 超时 |
如果用户从一个远程客户端连接到Greenplum的Master主机,网络问题
可能阻止连接(例如,DNS主机名解析问题、主机系统没有运行等等)。为了确认网络问题不是原因,
可尝试从远程客户端主机连接到Greenplum的Master主机。例如:
ping hostname
。 如果系统不能解析主机名和Greenplum数据库所涉及的主机的IP地址,查询和连接将会失败。 对于某些操作,到Greenplum数据库Master的连接会使用localhost而其他连接使用真实 的主机名,因此用户必须能解析两者。如果用户遇到这种错误,首先确认用户能够从Master主机通过网络连接到 Greenplum数据库阵列中的每一台主机。在Master和所有Segment的/etc/hosts文件中, 确认有Greenplum数据库阵列所涉及所有主机的正确的主机名和IP地址。IP 127.0.0.1 必须解析为localhost。 |
已有太多客户端连接 | 默认情况下,Greenplum数据库被配置为在Master和每个Segment上分别允许最多250和 750个并发用户连接。导致该限制会被超过的连接尝试将被拒绝。这个限制由Greenplum数据库Master的 postgresql.conf配置文件中的max_connections参数控制。 如果用户为Master更改了这个设置,用户还必须在Segment上做出适当的更改。 |