Не удается добавить узлы в кластер galera mariadb 10.1

Я пытаюсь настроить кластер galera MariaDB 10.1 на Centos 7. Вот моя основная конфигурация:

[mysqld]

wsrep_cluster_address="gcomm://10.47.246.45,10.47.246.9"
wsrep_node_address="10.47.246.45"
wsrep_node_name='n1'
wsrep_cluster_name='cluster'
innodb_buffer_pool_size=400M
# Mandatory settings to enable Galera
wsrep_provider=/usr/lib/galera/libgalera_smm.so
binlog_format=ROW
default-storage-engine=InnoDB
innodb_autoinc_lock_mode=2
innodb_doublewrite=1
query_cache_size=0
bind-address=0.0.0.0
# Galera synchronisation configuration
wsrep_sst_method=rsync

и когда я печатаю

SHOW GLOBAL STATUS LIKE 'wsrep_cluster_size';

Я получаю этот вывод

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 1     |
+--------------------+-------+

Вот конфигурация узла, который я пытаюсь добавить

[mysqld]

wsrep_cluster_address="gcomm://10.47.246.45,10.47.246.9"
wsrep_node_address="10.47.246.9"
wsrep_node_name='n2'
wsrep_cluster_name='cluster'
innodb_buffer_pool_size=400M
# Mandatory settings to enable Galera
wsrep_provider=/usr/lib/galera/libgalera_smm.so
binlog_format=ROW
default-storage-engine=InnoDB
innodb_autoinc_lock_mode=2
innodb_doublewrite=1
query_cache_size=0
bind-address=0.0.0.0
# Galera synchronisation configuration
wsrep_sst_method=rsync

и служба mysql запускается без ошибок, используя:

service mysql start --wsrep-new-cluster

и это вывод из

SHOW GLOBAL STATUS LIKE 'wsrep_cluster_size';

Я получаю его вывод

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 0     |
+--------------------+-------+

Есть идеи, что может быть не так с моей конфигурацией?


person Joseph Wahba    schedule 27.11.2017    source источник


Ответы (2)


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

Правильная конфигурация, связанная с настройками кластера Galera для первого хоста (у остальных должен быть такой же шаблон):

[mysqld]
log_error               = /var/log/mysql/mysql-error.log
default_storage_engine  = InnoDB
binlog_format           = ROW
wsrep_on                = ON
wsrep_provider          = /usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address   = "gcomm://<node1_ip>,<node2_ip>,<node3_ip>"
wsrep_cluster_name      = cluster
wsrep_node_name         = <node1_name>
wsrep_node_address      = <node1_ip>
innodb_autoinc_lock_mod = 2
wsrep_sst_method        = rsync

Чтобы запустить кластер Galera, просто выполните следующие действия на первом узле:

# galera_new_cluster

Убедитесь, что ваш кластер создан:

# mysql -e "show status like '%wsrep_cluster%'"
+--------------------------+--------------------------------------+
| Variable_name            | Value                                |
+--------------------------+--------------------------------------+
| wsrep_cluster_conf_id    | 1234                                 |
| wsrep_cluster_size       | 1                                    |
| wsrep_cluster_state_uuid | 020e3d69-2b31-11e7-9723-4b205d7b7e0c |
| wsrep_cluster_status     | Primary                              |
+--------------------------+--------------------------------------+

И запускаем MariaDB на остальных хостах:

systemctl start mariadb

Узлы должны присоединиться к вашему кластеру Galera.

Если он все еще не работает, следуйте журналам в /var/log/mysql/mysql-error.log

person nickgryg    schedule 06.12.2017

У меня была та же проблема, каждый из ny узлов, казалось, запускал свой собственный небольшой кластер из 1 узла. Решение: Посмотрите в /usr/lib/systemd/system/mariadb.service строку 30:

ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION

За исключением узла 10.47.246.45, на всех остальных удалите $WSREP_NEW_CLUSTER и сохраните конфигурацию. Убедитесь, что вы начинаете с galera_new_cluster на 10.47.246.45, и как только он запустится, запустите другие узлы один за другим с помощью systemctl start mysql (или запуска службы mysql)

person studio1057    schedule 11.12.2017