我应该如何处理 postgres-xl gtm 故障转移
Posted
技术标签:
【中文标题】我应该如何处理 postgres-xl gtm 故障转移【英文标题】:how I should handle postgres-xl gtm failover 【发布时间】:2016-12-29 22:42:52 【问题描述】:我有一个类似 node1(gtm)、node2(gtm-slave)、node3(gtm-proxy1、coord1、datanode1)的集群,我使用 pgxc_ctl 设置这些节点。 我正在测试 gtm 故障转移。这是我所做的:
-
将 pgxc_ctl.conf 从 node1 复制到 node2
关闭节点1
ssh int node2 并输入 pgxc_ctl,然后输入 failover gtm
ssh进入node3,输入gtm_ctl reconnect -Z gtm_proxy -D proxydir -o "-s node2 -t 20001"
尝试 psql 它给我错误“致命:无法从 GTM 获取事务 ID。GTM 可能已失败或失去连接”
所以我输入“stop all”和“init all”,看起来它解决了这个问题。 但我认为我不需要重新启动集群。大家有什么建议
【问题讨论】:
【参考方案1】:好的,我找到了原因。添加第一个datanode后,需要stop all并init all。如果我不这样做,postgres 将连接到 gtm 服务器而不是 gtm-proxy。
【讨论】:
警告:'init all' 将初始化您的集群——它适用于测试集群,但对于实时集群,它将清除您的数据。不要这样做。您可能需要更改您的 postgresql.conf 上的参考,以获得新 GTM 的正确端口和 ip。但不要在正在运行的集群上运行“init all”。以上是关于我应该如何处理 postgres-xl gtm 故障转移的主要内容,如果未能解决你的问题,请参考以下文章
我应该如何处理“'someFunction' 不是从 'namespace:somePackage' 导出的对象”错误? [关闭]