无法将节点添加到galera mariadb 10.1群集

时间:2017-11-27 15:30:19

标签: mysql mariadb galera

我试图在Centos 7上设置galera MariaDB 10.1群集。 这是我的主配置:

[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     |
+--------------------+-------+

知道我的配置有什么问题吗?

2 个答案:

答案 0 :(得分:1)

首先,我想建议在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

中的日志进行操作

答案 1 :(得分:0)

我遇到了同样的问题,每个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并保存配置。确保从10.47.246.45开始使用galera_new_cluster,一旦运行,请使用systemctl start mysql(或service mysql start)逐个启动其他节点