如何恢复 Galera 集群节点

如何恢复 Galera 集群节点

我在 MariaDB 下运行一个三节点、多主 Galera 集群。

其中一个节点因硬件故障而崩溃(节点 3),不知何故,这也导致一个健康节点(节点 2)崩溃。因此,只剩下一个正在运行的节点(节点 1),此时它是集群中最先进的节点。

我正在等待托管公司修复第三个节点,但与此同时我无法重新启动第二个节点。尝试重新启动时,程序xtrabackup-v2尝试状态转移时出现以下错误:

[Warning] WSREP: 1.0 (node1): State transfer to 0.0 (node2) failed: -2 (No such file or directory)
  [ERROR] WSREP: gcs/src/gcs_group.cpp:gcs_group_handle_join_msg():737: Will never receive state. Need to abort.

这种情况会一直持续下去,直到我停止 mysqld 服务。我不知道(没有这样的文件或目录)指的是什么。

崩溃的节点grastate.dat如下所示:

version: 2.1
uuid:    00000000-0000-0000-0000-000000000000
seqno:   -1
safe_to_bootstrap: 0

我该怎么做才能重新启动失败的节点?


更新 1:

我已清除 datadir,但节点仍无法加入集群。文件错误似乎很中肯,但它无法帮助我找到问题所在。

State transfer to 0.0 (node2) failed: -2 (No such file or directory)


更新 2:

我在供体节点上发现了额外的错误信息:

SREP_SST: [ERROR] innobackupex not in path: /usr/sbin:/sbin:/usr/ etc..

这样做which innobackupex表明缺少这个程序。

答案1

解决了。

崩溃的节点配置为使用与捐赠节点不同的 SST 方法。它之前使用 Percona xtrabackup,由于意外或愚蠢,配置已过期。

相关内容