我使用3 Galera cluster设置了3个节点的docker containers。当数据从donor节点同步到其他节点时,根据同步节点上的wsrep_notify_cmd触发器或wsrep_sst_method触发器,还需要将数据填充到该节点的相应Redis队列中。问题是,只有在启动集群时才调用这2个触发器。有日志称,这2个触发器是在一个节点已加入集群时调用的。但是,当我试图在一个节点中修改模式或执行CUD操作时,其他节点不会触发触发器。我不知道我是否做错了配置,或者这不是这些触发器的工作方式。
下面是我用来使集群工作的文件
node1:
https://drive.google.com/file/d/0B2q2F62RQxVjbkRaQlFrV2NyYnc/view?usp=sharing
node2:
https://drive.google.com/file/d/0B2q2F62RQxVjX3hYZHBpQ2FRV0U/view?usp=sharing
node3:
https://drive.google.com/file/d/0B2q2F62RQxVjelZHQTN3ZDRNZ0k/view?usp=sharing
我一直在谷歌搜索这个问题,但没有运气。我希望任何经历过Galera集群设置的人都能帮助我解决这个问题。或者有另一种解决需求的方法,请告诉我。非常感谢
发布于 2017-10-09 21:04:43
wsrep_notify_cmd 定义每当群集成员资格或节点状态更改时节点运行的命令。
因此,如果脚本将下面列表中描述的脚本状态更改为任何其他状态,则脚本将在节点上启动:
可能的情况是: 未定义的节点刚刚启动,没有连接到任何主组件。 合并节点连接到主组件,现在正在接收状态快照。 节点连接到主组件,现在正在发送状态快照。 加入节点有一个完整的状态,现在正在赶上集群。 同步节点已与集群同步。 错误(如果是available>)节点处于错误状态。
您可以看到脚本在节点启动和更改其状态时发出通知。当数据只是在galera集群节点之间同步时,它不会通知。
https://stackoverflow.com/questions/46611987
复制相似问题