暂无图片
暂无图片
2
暂无图片
暂无图片
7
暂无图片

patroni 报错问题处理:CRITICAL: system ID mismatch, node pgsql_node1 belongs to a different cluster: 7052280560147471869 != 7052284163

原创 贾勇智 2022-01-12
5138

1.问题现象:

patroni无法启动完成。

2.报错信息:

CRITICAL: system ID mismatch, node pgsql_node1 belongs to a different cluster: 7052280560147471869 != 7052284163040661464

3.原因:

新的 Postgres 实例数据库系统标识符 (7052280560147471869) 与旧 Postgres 实例结构中的数据库系统标识符的 ETCD 值不匹配

4.解决方法:

1.用以下命令获得数据库系统标识符:

pg_controldata -D | grep “Database system identifier”

2.运行以下命令以获取数据库系统标识符的 ETCD 值。

ETCD 将在 Patroni 第一次启动时从 Postgres 实例中提取并存储数据库系统标识符。

export ETCDCTL_API=2
etcdctl get /service/<scope from yaml file>/initialize

<scope from yaml file>=patroni 配置文件中参数scope的值。

3.清除 ETCD 存储值

patronictl -c remove .
<yaml file directory>=patroni 配置文件
<yaml scope attribute value>=patroni 配置文件中参数scope的值

4.启动patroni

systemctl start patroni
patronictl -c list

5.示例:

[root@pg01 ~]# pg_controldata -D /pgdata/12/data | grep “Database system identifier”
Database system identifier: 7052284163040661464

[root@pg01 ~]# etcdctl get /service/pgsql/initialize
7052284163040661464

[root@pg01 ~]# patronictl -c /etc/postgres.yml remove pgsql
±-------±-----±-----±------±—±----------+
| Member | Host | Role | State | TL | Lag in MB |

  • Cluster: pgsql (7052280560147471869) ---------+
    ±-------±-----±-----±------±—±----------+
    Please confirm the cluster name to remove: pgsql
    You are about to remove all information in DCS for pgsql, please type: “Yes I am aware”: Yes I am aware

[root@pg01 ~]# systemctl start patroni
[root@pg01 ~]# systemctl status patroni
● patroni.service - Runners to orchestrate a high-availability PostgreSQL - patroni
Loaded: loaded (/usr/lib/systemd/system/patroni.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2022-01-12 20:09:58 CST; 2s ago
Main PID: 8454 (patroni)
CGroup: /system.slice/patroni.service
└─8454 /usr/local/python3.6.11/bin/python3.6 /usr/local/python3.6…

Jan 12 20:09:58 pg01 systemd[1]: Started Runners to orchestrate a high-avai…i.
Hint: Some lines were ellipsized, use -l to show in full.
2022-01-12 20:10:10,566 INFO: no action. I am (pgsql_node1) the leader with the lock
2022-01-12 20:10:10,578 INFO: no action. I am (pgsql_node1) the leader with the lock
2022-01-12 20:10:20,576 INFO: no action. I am (pgsql_node1) the leader with the lock

最后修改时间:2022-01-14 11:27:07
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

Z
zhuanshan
暂无图片
2年前
评论
暂无图片 0
你好,试着在etcd中获取数据库标识报错 Error: 100: Key not found (/service) [1132]
2年前
暂无图片 点赞
5
BBK
暂无图片
2年前
回复
暂无图片 0
可以把操作过程贴一下吗
2年前
暂无图片 点赞
回复
Z
zhuanshan
暂无图片
2年前
回复
暂无图片 0
@BBK 你好,现在问题是。第一个节点patroni 正常。第二个节点启动patroni 就报 “数据库系统标识符”不匹配。我试着删掉etcd 中etcd值,可还是不行 第一个节点操作 [root@pg01 ~]# etcdctl get /pgsql/pgsql12/initialize 7176898579270961174 [root@pg01 ~]# [root@pg01 ~]# patronictl -c /usr/patroni/conf/patroni_postgresql.yml remove Usage: patronictl remove [OPTIONS] CLUSTER_NAME Try 'patronictl remove --help' for help. Error: Missing argument 'CLUSTER_NAME'. [root@pg01 ~]# [root@pg01 ~]# patronictl -c /usr/patroni/conf/patroni_postgresql.yml remove pgsql12 + Cluster: pgsql12 (7176898579270961174) -------+ | Member | Host | Role | State | TL | Lag in MB | +--------+------+------+-------+----+-----------+ +--------+------+------+-------+----+-----------+ Please confirm the cluster name to remove: pgsql12 You are about to remove all information in DCS for pgsql12, please type: "Yes I am aware": Yes I am aware [root@pg01 ~]# [root@pg01 ~]# [root@pg01 ~]# systemctl start patroni 第二个节点操作 [root@pg02 ~]# systemctl start patroni [root@pg02 ~]# [root@pg02 ~]# systemctl status patroni ● patroni.service - patroni - a high-availability PostgreSQL Loaded: loaded (/usr/lib/systemd/system/patroni.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since 五 2022-12-16 09:21:06 CST; 3s ago Docs: https://patroni.readthedocs.io/en/latest/index.html Process: 20624 ExecStart=/usr/local/bin/patroni /usr/patroni/conf/patroni_postgresql.yml (code=exited, status=1/FAILURE) Main PID: 20624 (code=exited, status=1/FAILURE)
2年前
暂无图片 点赞
回复
Z
zhuanshan
暂无图片
2年前
回复
暂无图片 0
@BBK 如果方便的话,加你下qq 请教下
2年前
暂无图片 点赞
回复
BBK
暂无图片
2年前
回复
暂无图片 0
@zhuanshan 好的我加你吧
2年前
暂无图片 点赞
回复
Z
zhuanshan
暂无图片
2年前
回复
暂无图片 0
@BBK 1041564790
2年前
暂无图片 点赞
回复
墨天轮福利君
暂无图片
3年前
评论
暂无图片 0
您好,您的文章已入选合格奖,10墨值奖励已经到账请查收! ❤️我们还会实时派发您的流量收益。
3年前
暂无图片 点赞
评论