pgxc_node的hostis_primary的值和实际对不上怎么解决

pgxc_node这个系统表,在每个cn都有自己的一个表,用来帮助cm去仲裁整个集群的状态,其中,每一组dn实例会在其中有一行数据,如下图:

dn_6001_6002在这个表里是一行,其中hostis_primary这个字段,标识这当前6001是否是主dn,如果是t则是6001是主,如果是f,则是6002是主。

image.png

在系统发生异常,由于HA机制,进行主备倒换的时候,会出现hostis_primary这个值变成f的情况。

【问题描述】

很小几率下会出现,hostis_primary值为f,但是集群中并没有主备倒换,都是正常的。

这个情况有一定概率会出现,详细原因不做赘述,此时有两种解决办法。

【解决方案】

两种方法都不影响业务:

  1. 手动update出问题的cn的pgxc_node。update table pgxc_node set hostis_primary = ‘t’ where node_name like ‘%dn_6001_6002%’;
  2. kill 一下问题节点的cmagent,可以自动刷新该系统表。

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/316549.html

(0)
上一篇 2025年10月29日 23:05
下一篇 2025年10月29日 23:06

相关推荐

发表回复

登录后才能评论