我在2个CentOS 6.6服务器上安装了2个Mariadb Galera节点(mariadb-galera-10.0.27-linux-x86_64.tar.gz) 。mariadb galera - 节点关闭时出错ERROR 1047 WSREP尚未准备应用程序使用的节点
安装完成后,我启动node1参数--wsrep-new-cluster
,然后启动node2而不使用此参数。 他们工作正常,数据在2个节点之间成功同步。
但是,当我关闭node1。 Node2仍在运行,但是当我尝试访问数据库时。它显示此错误:
use testdb;
ERROR 1047 (08S01): WSREP has not yet prepared node for application use
在这种情况下会发生什么? 这里是我的2个节点(只是不同的IP地址)
[galera]
wsrep_on=ON
wsrep_cluster_name='mysql-cluster'
wsrep_provider='/home/mariadb/mariadb-galera/lib/galera/libgalera_smm.so'
wsrep_provider_options="gcache.size=1G"
wsrep_cluster_address="gcomm://10.211.26.116:4567?
pc.wait_prim=no"
wsrep_sst_method=rsync
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
wsrep_node_address=10.211.26.117:4567
wsrep_node_name='db2'
谢谢!出现此错误是因为我突然重新启动Node1。但我只有2台服务器。我可以在2台服务器上安装2台Galera仲裁器来解决此问题吗? @elenst – namdt55555
技术上你可以,但它不会帮助。如果你倾向于重新启动整个机器,那么运行在那里的仲裁者也会下降,你将只有相同的裂脑,而不是1/1(剩下1个节点,1个丢失),它将是2/2。 如果其中一台主机的重启风险很高,而另一台主机更加稳定,那么可以考虑通过运行SET GLOBAL wsrep_provider_options =“pc.weight = 3”或类似的东西来为稳定的主机设置一个更高的权重 – elenst
那。在这种情况下,当“弱”节点发生故障时,强者会知道它仍然是主要的。如果遇到强烈的故障,您可以通过运行SET GLOBAL wsrep_provider_options ='pc.bootstrap = true''来恢复剩余的故障。不过,请注意不要将两个节点设置为引导,否则最终会有两个单独的集群。 – elenst