КЛАСТЕР MARIADB НА CenOS7

В данной статье приведем пример синхронизации между несколькими серверами баз данных MariaDB. В нашем примере рассмотрим кластер из двух узлов.

Установка MariaDB

Первым шагом установки будет добавление репозитория MariaDB.

Создаем файл репозитория:

Откроем его для редактирования:

Вставляем в него следующее:

repo MariaDB

Операции выше следует выполнять на всех нодах будущего кластера.

После добавления репозитория установим пакеты, но перед этим установим статус SELinux в разрешающий режим(на всех нодах кластера):

install mariadb

Затем запустим сервис и добавим его в автозагрузку:

Производим первоначальную настройку:

mysql_secure_installation

На этом первоначальная настройка и установка завершены.

Настройка кластера

Теперь нам нужно создать пользователей, которые должны иметь доступ к базе данных. «SST_user» является пользователем базы данных, который будет использоваться для проверки подлинности на другом узле базы данных в фазе State Transfer Snapshot (SST). Выполните следующую команду на всех узлах:

Вместо «12345», придумываем свой сложный пароль.

first settings mariadb

Следующим шагом будет создание конфигурации MariaDB Galera Cluster.

Остановим сервис баз данных:

Затем отредактируем конфиг основного сервера:

mysql settings server cnf

Затем точно таким же образом настроим вторую ноду. Конфиг почти не поменяется. Изменится только два параметра:

Сохраняем и запускаем сервис на главной ноде:

Если появляется следующая ошибка:

Выполняем команду:

На всех остальных просто запускаем сервис.

Проверяем сколько узлов у нас в кластере:

Затем:

cluster size

Проверка репликации

Создадим базу данных(на главной ноде):

Затем создадим тестовую таблицу:

После чего внесем в нее данные:

mariadb create test database cluster

Проверим что данные внесены:

mariadb select test database

Далее выполним эту же команду на втором узле кластера.

mariadb select test database cluster node2

Как видно синхронизация работает.

Проблемы и их решение

Если ошибки в логах сервиса mariadb имеют следующий вид:

То выполняем команду:

Сброс кворума на любом узле:

Ошибка в процессе работы:

Выполняем команду и перезапускаем сервис:

Правила FirewallD для кластера:

About the Author: Администратор

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *