我有一个有 4 个节点的 galera 集群。2 个在一个服务器(服务器主)和 2 个在另一个服务器(服务器从)。
集群通过“Max Scale”进行控制。
所有设置似乎都是正确的,因为复制工作正常,SHOW STATUS LIKE 'wsrep_cluster_size'
报告所有节点的大小正确,关闭主节点成功转移到下一个节点等。
maxscale 服务器状态报告:(为简单起见进行了总结)
Master, Synced, Running | Slave, Synced, Running | Slave, Synced, Running
如果我在“server-master”中同时执行停止两个容器,则主数据库成功分配给“slave”中的第一个容器。
maxscale 服务器状态报告:
Down | Down | Master, Synced, Running | Slave, Synced, Running
问题是:如果我关闭 server-master,
maxscale 服务器状态报告:
Down, Down, Running, Running
并尝试连接到集群导致连接失败。一段时间后,报告所有节点Down
。
我不明白为什么关闭服务器不能按预期工作。
更新
我发现如果我关闭“server-master”中的第二个节点,然后关闭服务器,“master”会成功分配给“server-slave”,但是几分钟后所有节点都关闭了。:/
Servers: Ubuntu Servers 16.04 x64
MaxScale version: 2.0.5
LXD version: 2.13
Galera version (3): 25.3.20-xenial
Guide followed: https://www.digitalocean.com/community/tutorials/how-to-configure-a-galera-cluster-with-mariadb-10-1-on-ubuntu-16-04-servers
它与 galera 集群行为有关。
因此,您无法从客户端连接到 maxscale ---> 集群。
参考: http: //galeracluster.com/documentation-webpages/weightedquorum.html