Добрый вечер!
OS: Centos 6 (Первый сервер), Centos 7 (Второй сервер)
Software: Manticore-3.3.0
Index: RT
Имеется одиночный сервер Manticore с наполненными индексами. Хочу превратить его в кластер. В настройке manticore.conf добавил: #replication block
listen = 9312
listen = 172.16.250.1:9360-9370:replication
data_dir = /var/lib/manticore
server_id = 1
Второй сервер пустой, установил Manticore аналогичной версии, перенес настройки. Отличаются только: #replication block
listen = 9312
listen = 172.16.250.2:9370-9380:replication
data_dir = /var/lib/manticore
server_id = 2
Далее на первом сервере создал кластера:
CREATE CLUSTER test
Запустил на втором сервере Manticore и прицепил к кластеру:
JOIN CLUSTER test AT ‘172.16.250.1:9312’
Однако синхронизации данных с первым сервером не происходит, хотя обе машины в кластере, в состоянии “Synced” и “Primary”. При полной остановке кластера новый кластер c параметрами --new-cluster и --new-cluster-force не поднимается.
Большое спасибо за столь оперативный ответ. Да, RT. Нет, не делал. Спасибо за ссылку на курс, обязательно ознакомлюсь. Извините за столь простые вопросы, впервые собираю кластер Galera для Manticore.
P.S.: Опыт в администрировании MariaDB Galera Cluster вообще не помог)
Мы всё, что касается внутренностей Галеры попытались как можно глубже спрятать, чтобы сделать всё максимально просто для пользователя. Надеюсь, что вы просто не сделали ALTER CLUSTER ... ADD и этого будет достаточно. Но если будут проблемы после просмотра курса - пишите, будем разбираться.
При добавлении ноды к кластеру (JOIN CLUSTER esz AT ‘172.16.250.1:9312’) возникает следующая ошибка:
ERROR 1064 (42000): (null)
MySQL [(none)]> SHOW STATUS LIKE ‘%node%’;
±-----------------------±--------------------+
| Counter | Value |
±-----------------------±--------------------+
| cluster_esz_node_state | destroyed |
Подскажите, пожалуйста, в чем может быть проблема.
нужно рестартовать демон с опцией --logreplication
повторить одбавление ноды и выложить конфиг демона, чтобы можно было посмотреть последовательность команд и почему возникает ошибка.
А на ноде 172.16.250.1 что показывает show status для кластера?
Снял логи с без данной опции (с сервера, пытающегося присоединиться к кластеру)
searchd.log
[Tue Mar 17 22:50:30.698 2020] [12429] watchdog: main process 12430 forked ok
[Tue Mar 17 22:50:30.699 2020] [12430] listening on all interfaces, port=9306
[Tue Mar 17 22:50:30.699 2020] [12430] listening on all interfaces, port=9312
[Tue Mar 17 22:50:30.704 2020] [12430] WARNING: ‘binlog_max_log_size = 2147483648’ clamped to 2147483647(INT_MAX)
[Tue Mar 17 22:50:30.705 2020] [12430] accepting connections
[Tue Mar 17 22:50:30.705 2020] [12432] prereading 5 indexes
[Tue Mar 17 22:50:30.705 2020] [12432] prereaded 5 indexes in 0.000 sec
[Tue Mar 17 22:51:56.174 2020] [12471] WARNING: Could not open state file for reading: ‘/var/lib/manticore/grastate.dat’
[Tue Mar 17 22:51:56.174 2020] [12471] WARNING: No persistent state found. Bootstraping with default state
[Tue Mar 17 22:51:56.197 2020] [12471] WARNING: Fail to access the file (/var/lib/manticore/gvwstate.dat) error (No such file or directory). It is possible if node is booting for first time or re-booting after a graceful shutdown
[Tue Mar 17 22:57:14.609 2020] [15234] FATAL: invalid GTID, (null)
query.log
/* Tue Mar 17 22:57:20.111 2020 conn 1 */ JOIN CLUSTER esz AT ‘172.16.250.1:9312’ # error=(null)
Логи с инициатора кластера.
searchd.log
[Tue Mar 17 22:57:14.608 2020] [7173] WARNING: read error in /var/lib/manticore/serviceclasses.4.spb (No such file or directory); 0 of -1569984198 bytes read
[Tue Mar 17 22:57:14.619 2020] [7173] WARNING: ‘172.16.250.2:9312’: remote error: invalid GTID, (null)
[Tue Mar 17 22:57:15.620 2020] [7172] WARNING: last message repeated 1 times
[Tue Mar 17 22:57:15.620 2020] [7172] WARNING: 1.0 (daemon_7169_esz): State transfer to 0.0 (daemon_12471_esz) failed: -125 (Operation canceled)
[Tue Mar 17 22:57:15.626 2020] [7172] WARNING: SYNC message from member 139758235811840 in non-primary configuration. Ignored.
[Tue Mar 17 22:57:19.277 2020] [7171] WARNING: discarding established (time wait) c1a671c4 (tcp://172.16.250.24:9363)
Любопытно, что файл /var/lib/manticore/serviceclasses.4.spb существует, права и владелец выставлены корректно
нужен логи с ноды где кластер сформирован и ноды которая присоединяется (с ip этих нод, чтобы было понятно кто где) и выводы SHOW STATUS LIKE ‘cluster%’; на обоих нодах
WARNING: ‘172.16.250.24:9312’: remote error: /var/lib/manticore/requestind_v2.5.spm sha1 does not matched, expected cf1b34199df4e6fb5156f261e8169f1e61659329, got 6e6bfedaf39d0379f514073b2ed111b941c4b66d
ну те передача файла не удалась почему-то. Можно посмотреть отличая в индексах requestind_v2.5 на обоих нодах, стереть файлы индекса и попытатся сделать JOIN еще раз.
Или предоставить воспроизводимый кейс \ несколько Docker контейнеров - который позволит воспроизвести такую ошибку локально.
Ошибка с присоединением ноды к кластеру. Новые логи залил в облако. Теперь логи ссылаются на ошибку в другом индексе. Может стоит понизить версию Manticore? Какая рекомендуемая версия galera плагина? В текущей конфигурации используется 25.3.28.