Настройка кластера MariaDB Galera
Для работы кластера Galera с MariaDB необходимо установить ряд опций. Они должны быть заданы в файле опций MariaDB файл опций MariaDB.
Обязательные опции
Некоторые опции обязательны, что означает, что они *должны* быть установлены для активации кластера Galera или для его правильной работы с MariaDB. Обязательные опции:
-
wsrep_provider— Путь к библиотеке Galera -
wsrep_cluster_address— См. формат и использование адреса кластера Galera -
binlog_format=ROW— См. Форматы бинарных журналов -
default_storage_engine=InnoDB -
innodb_autoinc_lock_mode=2 -
innodb_doublewrite=1— Это значение по умолчанию, но его не следует изменять при использовании поставщика Galera версии >= 2.0. -
query_cache_size=0— Требуется только для версий MariaDB до MariaDB Galera Cluster 5.5.40, MariaDB Galera Cluster 10.0.14 и MariaDB 10.1.2. -
wsrep_on=ON— Включить репликацию wsrep (начиная с 10.1.1)
Опции, связанные с производительностью
Это необязательные оптимизации, которые можно выполнить для повышения производительности.
-
innodb_flush_log_at_trx_commit=0— В стандартном случае для MariaDB это обычно не рекомендуется. Однако с Galera Cluster это немного безопаснее, поскольку несоответствия всегда можно исправить, восстановившись с другого узла.
Запись реплицированных наборов записей в бинарный журнал
Как и в случае с репликацией MariaDB, наборы записей, полученные узлом с репликацией на основе сертификации кластера Galera, по умолчанию не записываются в бинарный журнал. Если вы хотите, чтобы узел записывал свои реплицированные наборы записей в бинарный журнал, вам необходимо установить log_slave_updates=ON. Это особенно полезно, если узел является мастером репликации. См. Использование репликации MariaDB с MariaDB Galera Cluster: Настройка узла кластера в качестве мастера репликации.
Фильтры репликации
Как и в случае с репликацией MariaDB, фильтры репликации могут использоваться для фильтрации наборов записей, которые не должны реплицироваться с помощью репликации на основе сертификации кластера Galera. Однако их следует использовать с осторожностью, так как они могут не работать так, как вы ожидаете.
Следующие фильтры репликации учитываются для DML InnoDB, но не DDL:
Следующие фильтры репликации учитываются для DML и DDL для таблиц, использующих как движок InnoDB, так и движок MyISAM:
Однако следует помнить, что если фильтры репликации вызывают несоответствия, которые приводят к ошибкам репликации, узлы могут прервать работу.
См. также MDEV-421 и MDEV-6229.
Порты сети
Кластер Galera требует доступа к следующим портам:
- Стандартный порт MariaDB (по умолчанию: 3306) — Для подключений клиентов MySQL и передач моментальных снимков состояния, которые используют метод
mysqldump. Это можно изменить, задавport. - Порт репликации Galera (по умолчанию: 4567) — Для трафика репликации Galera Cluster, мультипотоковая репликация использует как UDP-транспорт, так и TCP на этом порту. Можно изменить, задав
wsrep_node_address. - Интерфейс прослушивания репликации Galera (по умолчанию:
0.0.0.0:4567) должен быть задан с помощью gmcast.listen_addr, либо- в wsrep_provider_options:
wsrep_provider_options='gmcast.listen_addr=tcp://<IP_ADDR>:<PORT>;' - или в wsrep_cluster_address
- в wsrep_provider_options:
- Порт IST (по умолчанию: 4568) — Для передачи состояния с приращениями. Можно изменить, задав
ist.recv_addrвwsrep_provider_options. - Порт SST (по умолчанию: 4444) — Для всех методов передачи моментальных снимков состояния, кроме
mysqldump. Можно изменить, задавwsrep_sst_receive_address.
Несколько экземпляров кластера Galera на одном сервере
Если вы хотите запустить несколько экземпляров кластера Galera на одном сервере, вы можете сделать это, запустив каждый экземпляр с mysqld_multi, или, если вы используете systemd, вы можете использовать соответствующий метод systemd для взаимодействия с несколькими экземплярами MariaDB.
Необходимо убедиться, что каждый экземпляр настроен с другим datadir.
Также необходимо убедиться, что каждый экземпляр настроен с различными портами сети.
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/configuring-mariadb-galera-cluster/