Как восстановить узел кластера Galera
Я управляю трехузловым кластером Galera с несколькими мастерами под управлением MariaDB.
Один из узлов вышел из строя из-за аппаратного сбоя (узел 3), и по какой-либо причине он также сломал один из исправных узлов (узел 2). Так что у меня остался один работающий узел (node1), который на данный момент является самым продвинутым в кластере.
Я жду, когда моя хостинговая компания исправит третий узел, но в то же время я не могу перезапустить второй узел. При попытке перезагрузки я получаю следующие ошибки от 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 и из-за несчастного случая или глупости конфиги были устаревшими.