You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Patroni搭建PostgreSQL集群后成员均为stopped状态的求助

问题描述

在Rocky 8.9系统中完成以下操作:

  • 安装Patroni
  • 安装PostgresPro STD 16
  • 编写/etc/patroni.yml配置文件
  • 编写/etc/systemd/system/patroni.service服务文件

启动后,systemctl查看patroni.service和postgrespro-std-16状态均正常,端口5432已绑定,其余3个集群节点状态一致。但查询Patroni集群状态时,所有成员均显示为stopped:

+ Cluster: pg-ha-cluster (7337187168991802534) ----+-----------+
| Member  | Host          | Role    | State   | TL | Lag in MB |
+---------+---------------+---------+---------+----+-----------+
| pp_pg_1 | 192.168.10.1  | Replica | stopped |    |   unknown |
| pp_pg_2 | 192.168.10.2  | Replica | stopped |    |   unknown |
| pp_pg_3 | 192.168.10.3  | Replica | stopped |    |   unknown |
| pp_pg_4 | 192.168.10.4  | Replica | stopped |    |   unknown |
+---------+---------------+---------+---------+----+-----------+

已开启debug模式检查所有日志,未发现错误日志,所有日志均显示成功。

排查与解决方案

1. 校验Patroni配置中的PostgreSQL路径匹配

PostgresPro STD 16的默认安装路径与社区版PostgreSQL不同,需确保/etc/patroni.yml中的关键路径配置指向PostgresPro的实际路径:

  • bin_dir: 需设置为/opt/postgrespro/std-16/bin(默认安装路径)
  • data_dir: 确认指向PostgresPro的数据目录(如自定义路径需对应)
  • pid_file: 需设置为/opt/postgrespro/std-16/data/postmaster.pid(或自定义数据目录下的对应文件)

2. 验证Patroni服务的运行权限

  • 检查patroni.service文件中的User和Group是否设置为postgres(PostgresPro的默认运行用户)
  • 确认PostgresPro数据目录的权限:
ls -ld /opt/postgrespro/std-16/data

确保postgres用户拥有该目录的读写执行权限(权限应为drwx------或包含postgres用户的rwx权限)

3. 检查Patroni与PostgreSQL的进程关联

  • 查看Patroni debug日志中与PostgreSQL状态检查相关的输出,确认是否存在命令执行失败的细节(即使日志无错误标记,debug级日志可能包含状态检查的具体命令返回值)
  • 手动执行Patroni用于检查PostgreSQL状态的命令,验证是否能正确识别运行状态:
sudo -u postgres /opt/postgrespro/std-16/bin/pg_ctl status -D /opt/postgrespro/std-16/data

4. 重置Patroni集群状态缓存

  • 依次重启所有节点的Patroni服务:
systemctl restart patroni.service

等待5-10分钟后,重新执行patronictl list查看状态

  • 若状态仍异常,可尝试在其中一个节点重新初始化集群(操作前请备份数据):
patronictl reinit pg-ha-cluster pp_pg_1

完成后让其他节点重新加入集群

5. 校验DCS配置一致性

  • 确保所有节点的patroni.yml中DCS(如etcd/consul)的配置完全一致,包括集群名称、DCS地址、认证信息等
  • 清理DCS中对应集群的旧数据(如etcd中/service/pg-ha-cluster路径下的历史数据),然后重启所有Patroni服务

内容的提问来源于stack exchange,提问作者i.abdukhoshimov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 11:21:29