common_linux:galera_cluster
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
common_linux:galera_cluster [2022/08/23 13:04] – root | common_linux:galera_cluster [2024/12/21 19:00] (текущий) – внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 3: | Строка 3: | ||
\\ Для небольшой инсталляции будет использовано две ноды MariaDB, а для создания нечетного количества нод будет добавлен арбитр - сервис garbd (https:// | \\ Для небольшой инсталляции будет использовано две ноды MariaDB, а для создания нечетного количества нод будет добавлен арбитр - сервис garbd (https:// | ||
\\ Если планируется использовать 3 ноды репликации, | \\ Если планируется использовать 3 ноды репликации, | ||
- | {{ :common_linux: | + | {{ common_linux: |
Сервис арбитража будет установлен на ноду балансировки нагрузки. В качестве балансировщика используется haproxy. | Сервис арбитража будет установлен на ноду балансировки нагрузки. В качестве балансировщика используется haproxy. | ||
\\ В данном примере будет задействован только один балансировщик, | \\ В данном примере будет задействован только один балансировщик, | ||
Строка 11: | Строка 11: | ||
| db-sql | | db-sql | ||
- | ===== Установка Maria DB ===== | + | ===== Установка Maria DB и включение механизма репликации===== |
Перед инсталляцией необходимо обновить ОС и пакеты на **всех** узлах: | Перед инсталляцией необходимо обновить ОС и пакеты на **всех** узлах: | ||
<code bash> | <code bash> | ||
Строка 51: | Строка 51: | ||
nano / | nano / | ||
</ | </ | ||
- | <code ini | download> | + | <code ini | galera.cnf> |
[mysqld] | [mysqld] | ||
binlog_format=ROW | binlog_format=ROW | ||
Строка 63: | Строка 63: | ||
# Galera Cluster Configuration | # Galera Cluster Configuration | ||
- | wsrep_cluster_name=" | + | wsrep_cluster_name=" |
- | wsrep_cluster_address=" | + | wsrep_cluster_address=" |
# Galera Synchronization Configuration | # Galera Synchronization Configuration | ||
Строка 72: | Строка 72: | ||
wsrep_node_address=" | wsrep_node_address=" | ||
wsrep_node_name=" | wsrep_node_name=" | ||
+ | </ | ||
+ | На нодах db-msql-01 и db-msql-02 останавливаем службу mariadb: | ||
+ | <code bash> | ||
+ | systemctl stop mariadb | ||
</ | </ | ||
+ | На первой ноде db-msql-01 запустить скрипт создания кластера galera: | ||
+ | <code bash> | ||
+ | galera_new_cluster | ||
+ | </ | ||
+ | На второй ноде db-msql-02 запустить службу mariadb: | ||
+ | <code bash> | ||
+ | systemctl start mariadb | ||
+ | </ | ||
+ | На любом из узлов db-msql-01 или db-msql-02 выполнить проверку количества узлов в кластере (количество должно быть равно 2): | ||
+ | <code bash> | ||
+ | root@db-msql-01: | ||
+ | Enter password: | ||
+ | +--------------------+-------+ | ||
+ | | Variable_name | ||
+ | +--------------------+-------+ | ||
+ | | wsrep_cluster_size | 2 | | ||
+ | +--------------------+-------+ | ||
+ | </ | ||
+ | Устанавливаем службу арбитрации на узле db-sql: | ||
+ | <code bash> | ||
+ | apt-get install galera-arbitrator-4 | ||
+ | </ | ||
+ | Редактируем конфигурационный файл / | ||
+ | <code ini | garb> | ||
+ | GALERA_NODES=" | ||
+ | GALERA_GROUP=" | ||
+ | </ | ||
+ | Запускаем службу garbd: | ||
+ | <code bash> | ||
+ | systemctl status garbd | ||
+ | </ | ||
+ | Если все сделали правильно, | ||
+ | <code bash> | ||
+ | root@db-msql-01: | ||
+ | Enter password: | ||
+ | +--------------------+-------+ | ||
+ | | Variable_name | ||
+ | +--------------------+-------+ | ||
+ | | wsrep_cluster_size | 3 | | ||
+ | +--------------------+-------+ | ||
+ | </ | ||
+ | |||
+ | ===== Установка haproxy и настройка балансировки ===== | ||
+ | На узлах db-msql-01 и db-msql-02 необходимо отредактировать значение параметра **bind-address** в файле конфигурации **/ | ||
+ | <code ini> | ||
+ | # Instead of skip-networking the default is now to listen only on | ||
+ | # localhost which is more compatible and is not less secure. | ||
+ | bind-address | ||
+ | </ | ||
+ | После необходимо перезапустить службу mariadb: | ||
+ | <code bash> | ||
+ | systemctl restart mariadb.service | ||
+ | </ | ||
+ | Далее на любой из нод необходимо выполнить вход в sql-кдлиент и создать пользователя для haproxy: | ||
+ | <code bash> | ||
+ | root@db-msql-01: | ||
+ | Enter password: | ||
+ | MariaDB [(none)]> | ||
+ | MariaDB [(none)]> | ||
+ | </ | ||
+ | |||
+ | На узле db-sql устанавливаем пакет haproxy: | ||
+ | <code bash> | ||
+ | apt-get install haproxy | ||
+ | </ | ||
+ | В конфигурационный файл **/ | ||
+ | <code ini | haproxy.cfg> | ||
+ | listen galera | ||
+ | bind 192.168.100.39: | ||
+ | | ||
+ | mode tcp | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | Перезагружаем службу haproxy и проверяем статус: | ||
+ | <code bash> | ||
+ | systemctl reload haproxy.service | ||
+ | systemctl status haproxy.service | ||
+ | ● haproxy.service - HAProxy Load Balancer | ||
+ | | ||
+ | | ||
+ | Docs: man: | ||
+ | | ||
+ | Main PID: 23096 (haproxy) | ||
+ | Tasks: 3 (limit: 4612) | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | Aug 22 14:18:15 db-sql haproxy[23488]: | ||
+ | Aug 22 14:18:15 db-sql haproxy[23488]: | ||
+ | Aug 22 14:18:15 db-sql haproxy[23488]: | ||
+ | Aug 22 14:18:15 db-sql haproxy[23488]: | ||
+ | Aug 22 14:18:15 db-sql haproxy[23953]: | ||
+ | Aug 22 14:18:15 db-sql haproxy[23096]: | ||
+ | Aug 22 14:18:16 db-sql haproxy[23953]: | ||
+ | Aug 22 14:18:16 db-sql haproxy[23953]: | ||
+ | Aug 22 14:26:19 db-sql haproxy[23953]: | ||
+ | Aug 22 14:26:20 db-sql haproxy[23953]: | ||
+ | </ | ||
+ |
common_linux/galera_cluster.1661249073.txt.gz · Последнее изменение: 2024/12/21 19:00 (внешнее изменение)