我试图在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 |
+--------------------+-------+
知道我的配置有什么问题吗?
答案 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)逐个启动其他节点