Назад | Перейти на главную страницу

Ошибка кластера MariaDB galera при сбросе или оптимизации базы данных

Кажется, что кластер Galera заходит в тупик каждый раз, когда я запускаю mysqldump или оптимизирую таблицу.

Я несколько раз запускал mysqlcheck и mysqldump на моем сервере базы данных MariaDB 10.1. (который работает в кластере Galera с двумя другими серверами)

Я заметил, что обе задачи останавливаются и не показывают никакого прогресса после выполнения в течение короткого времени.

Например, mysqldump останавливается после создания файла дампа размером 14,0 МБ (14,760,912 байта) и не продолжается.

Также зависает mysqlcheck для восстановления и оптимизации таблиц.

В обеих ситуациях в кластере возникают проблемы, и единственный способ заставить его снова нормально работать - это перевести сервер, который выполнял задание, в автономный режим, а также отключить другой сервер. Затем я возвращаю их в сеть по одному, и кластер снова работает нормально.

Я не уверен, что вызывает эти проблемы. В системном журнале ошибок не обнаружил, хотя при выключении серверов заметил следующее:

10 января 20:43:46 france mysqld [1015]: 2016-01-10 20:43:46 140096330258176 [Предупреждение] WSREP: изоляция TO завершилась неудачно для: 3, схема: mysql, sql: OPTIMIZE TABLE proc. Проверьте состояние подключения wsrep и повторите запрос.

10 января 21:58:47 france mysqld [1034]: 2016-01-10 21:58:47 139691511322368 [Предупреждение] Ошибка изоляции WSREP: TO для: 3, схема: smf, sql: OPTIMIZE TABLE smf_categories. Проверьте состояние подключения wsrep и повторите запрос. 10 января 21:58:47 france mysqld [1034]: 2016-01-10 21:58:47 139691511322368 [Предупреждение] Прервано соединение 24 с базой данных: 'smf' пользователь: 'обслуживание' хост: 'localhost' (неизвестная ошибка) 10 января 21:58:47 france mysqld [1034]: 2016-01-10 21:58:47 139691509827328 [Предупреждение] WSREP: изоляция TO завершилась неудачно для: 3, схема: (null), sql: SELECT 1 FROM mysql.user LIMIT 1. Проверьте состояние подключения wsrep и повторите запрос.

Я обнаружил, что проблема связана с Galera. Когда я извлекаю сервер из кластера, задание оптимизации и дампа выполняется намного быстрее и выполняется правильно.

Том указал мне правильное направление в базе знаний MariaDB: https://mariadb.com/kb/en/mariadb/galera-cluster-fail-during-dump-or-optimize/#comment_1911

Проблема, по-видимому, вызвана управлением потоком. Я решил это, настроив параметры управления потоком.

Я сделал это, добавив следующие wsrep_provider_options: gcs.fc_limit = 500; gcs.fc_master_slave = ДА; gcs.fc_factor = 1.0

Однако это также создало новую проблему: задание теперь завершается правильно, но после этого кластер все еще не работает.