patroni启动,提示waiting for leader to bootstrap
2020-02-23 09:45 abce 阅读(1766) 评论(0) 编辑 收藏 举报patroni集群第一次初始化失败,再次使用原来的配置尝试初始化,查看信息,不同节点都显示同一个信息:waiting for leader to bootstrap
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # systemctl status patroni.service ● patroni.service - PostgreSQL high-availability manager Loaded: loaded ( /usr/lib/systemd/system/patroni .service; disabled; vendor preset: disabled) Active: active (running) since Sat 2020-02-22 17:41:50 CST; 11s ago Main PID: 3104 (python3.6) Tasks: 5 CGroup: /system .slice /patroni .service └─3104 python3.6 /opt/app/patroni/bin/patroni /opt/app/patroni/etc/postgresql .yml Feb 22 17:41:50 docker02 systemd[1]: Started PostgreSQL high-availability manager. Feb 22 17:41:50 docker02 systemd[1]: Starting PostgreSQL high-availability manager... Feb 22 17:41:50 docker02 patroni[3104]: 2020-02-22 17:41:50,916 INFO: Selected new etcd server http: //11 .11.11.250:2379 Feb 22 17:41:50 docker02 patroni[3104]: 2020-02-22 17:41:50,928 INFO: No PostgreSQL configuration items changed, nothing to reload. Feb 22 17:41:50 docker02 patroni[3104]: 2020-02-22 17:41:50,935 INFO: Lock owner: None; I am pg01 Feb 22 17:41:50 docker02 patroni[3104]: 2020-02-22 17:41:50,937 INFO: waiting for leader to bootstrap Feb 22 17:42:00 docker02 patroni[3104]: 2020-02-22 17:42:00,934 INFO: Lock owner: None; I am pg01 Feb 22 17:42:00 docker02 patroni[3104]: 2020-02-22 17:42:00,939 INFO: waiting for leader to bootstrap |
原因:
etcd保留了集群的初始化信息(键:/service/$CLUSTER_NAME/initialize)。该键存在后,patroni就不会再次执行initdb。而是尝试再次引导已经存在的节点。
解决方法:
1.使用patronictl手动移除etcd中的/service/$CLUSTER_NAME/initialize
2.设置一个新的cluster name后从新引导
以下是手动移除的过程:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # patronictl -c /opt/app/patroni/etc/postgresql.yml list +---------+--------+--------------+------+---------+----+-----------+ | Cluster | Member | Host | Role | State | TL | Lag in MB | +---------+--------+--------------+------+---------+----+-----------+ | batman | pg01 | 11.11.11.111 | | stopped | | unknown | +---------+--------+--------------+------+---------+----+-----------+ # patronictl -c /opt/app/patroni/etc/postgresql.yml remove batman +---------+--------+--------------+------+---------+----+-----------+ | Cluster | Member | Host | Role | State | TL | Lag in MB | +---------+--------+--------------+------+---------+----+-----------+ | batman | pg01 | 11.11.11.111 | | stopped | | unknown | +---------+--------+--------------+------+---------+----+-----------+ Please confirm the cluster name to remove: batman You are about to remove all information in DCS for batman, please type : "Yes I am aware" : Yes I am aware |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)