1

我有一个像 node1(gtm)、node2(gtm-slave)、node3(gtm-proxy1、coord1、datanode1) 这样的集群,我使用 pgxc_ctl 设置这些节点。我正在测试 gtm 故障转移。这是我所做的:

  1. 将 pgxc_ctl.conf 从 node1 复制到 node2
  2. 关闭节点1
  3. ssh int node2 并输入 pgxc_ctl,然后输入 failover gtm
  4. ssh 进入 node3,然后输入 gtm_ctl reconnect -Z gtm_proxy -D proxydir -o "-s node2 -t 20001"
  5. 尝试 psql 它给我错误“致命:无法从 GTM 获取事务 ID。GTM 可能已失败或失去连接”

所以我输入“全部停止”和“全部初始化”,看起来它解决了这个问题。但我认为我不需要重新启动集群。任何人都有建议

4

1 回答 1

1

好的,我找到了原因。添加第一个datanode后,需要stop all并init all。如果我不这样做,postgres 将连接到 gtm 服务器而不是 gtm-proxy。

于 2016-12-31T00:54:30.767 回答