pgpool 4.1.0 healthcheck getsockopt()检测到错误“连接被拒绝”

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

我正在尝试为Postgresql流复制群集设置pgpool负载平衡器。

我正在使用Debian 10.2(最新的稳定版)上的Postgresql存储库https://apt.postgresql.org/pub/repos/apt/中的postgresql-12和pgpool2-4.1.0。

我已经设置了Postgresql集群,并使用物理插槽(而非WAL装运)进行了流复制,并且一切似乎都正常运行。辅助数据库连接复制数据时没有任何问题。

然后,我在同一台服务器上安装了pgpool2-4.1.0。我已经根据pgpool Wiki对pgpool.conf进行了适当的修改,并且启用了看门狗进程。

[当我在所有三个节点上启动pgpool时,都可以看到看门狗正常工作,仲裁已存在,并且pgpool选出了一个主节点(pgpool节点),该主节点也从配置中启用了虚拟IP。

我可以通过pgpool连接到postgres后端,并成功发出读写命令。

问题出现在pgpool日志中,从syslog中,我得到:

Jan 13 15:10:30 debian10 pgpool[9826]: 2020-01-13 15:10:30: pid 9870: LOG:  failed to connect to PostgreSQL server on "pg1:5433", getsockopt() detected error "Connection refused"

Jan 13 15:10:30 debian10 pgpool[9826]: 2020-01-13 15:10:30: pid 9870: LOCATION:  pool_connection_pool.c:680

检查上述PID时,我得到了pgpool运行状况检查过程。一世pg1,pg2,pg3是侦听端口5433上所有地址的数据库服务器,pg1是主要的。pgpool收听5432。

用于运行状况检查的数据库用户是“ pgpool”,我已经验证可以使用该用户从特定子网上的所有主机连接到数据库。

当我禁用健康检查时,问题就消失了,但是失败了。有什么想法吗?

postgresql high-availability pgpool
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.