pgxc_node这个系统表,在每个cn都有自己的一个表,用来帮助cm去仲裁整个集群的状态,其中,每一组dn实例会在其中有一行数据,如下图:
dn_6001_6002在这个表里是一行,其中hostis_primary这个字段,标识这当前6001是否是主dn,如果是t则是6001是主,如果是f,则是6002是主。

在系统发生异常,由于HA机制,进行主备倒换的时候,会出现hostis_primary这个值变成f的情况。
【问题描述】
很小几率下会出现,hostis_primary值为f,但是集群中并没有主备倒换,都是正常的。
这个情况有一定概率会出现,详细原因不做赘述,此时有两种解决办法。
【解决方案】
两种方法都不影响业务:
- 手动update出问题的cn的pgxc_node。update table pgxc_node set hostis_primary = ‘t’ where node_name like ‘%dn_6001_6002%’;
- kill 一下问题节点的cmagent,可以自动刷新该系统表。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/316549.html