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 (внешнее изменение)
