ERROR 1047 (08S01): WSREP has not yet prepared node for application use

匿名 (未验证) 提交于 2019-12-03 00:19:01

同事问三个节点的Galera Cluster中如果只剩一个节点了,那么还能提供读写服务吗?
分两种情况:
一、节点正常关闭的情况
如果集群中的两个节点都正常关闭,集群中剩余的一个节点还是可以提供读写服务的。

MariaDB [(none)]> SHOW STATUS WHERE Variable_name IN  ( 'wsrep_local_state_uuid','wsrep_cluster_conf_id','wsrep_cluster_size', 'wsrep_cluster_status','wsrep_ready','wsrep_connected'); +--------------------------+--------------------------------------+ | Variable_name            | Value                                | +--------------------------+--------------------------------------+ | wsrep_local_state_uuid   | 874d8e7e-5980-11e8-8c23-83493ba049c2 | | wsrep_cluster_conf_id    | 30                                   | | wsrep_cluster_size       | 1                                    | | wsrep_cluster_status     | Primary                              | | wsrep_connected          | ON                                   | | wsrep_ready              | ON                                   | +--------------------------+--------------------------------------+

二、节点异常退出的情况
如果集群中的两个节点都异常退出,集群中剩余的一个节点能提供读写服务吗?
a).写服务肯定是不能提供的。
b).集群中剩余的一个节点,能否提供读服务,取决于wsrep_dirty_reads的设置。

MariaDB [(none)]> show variables like 'wsrep_dirty_reads'; +-------------------+-------+ | Variable_name     | Value | +-------------------+-------+ | wsrep_dirty_reads | OFF   | +-------------------+-------+ 1 row in set (0.01 sec)

如果wsrep_dirty_reads设置为OFF,读取数据时会报ERROR 1047 (08S01)的错误。

MariaDB [(none)]> use test; **ERROR 1047 (08S01): WSREP has not yet prepared node for application use** 

如果wsrep_dirty_reads设置为ON,可以读数据,但不能写。

MariaDB [test]> show variables like 'wsrep_dirty_reads'; +-------------------+-------+ | Variable_name     | Value | +-------------------+-------+ | wsrep_dirty_reads | ON    | +-------------------+-------+ 1 row in set (0.00 sec)  MariaDB [test]> select * from t2; +----+ | id | +----+ |  1 | |  2 | +----+ 2 rows in set (0.00 sec)  MariaDB [test]> insert into t2 values(3); ERROR 1047 (08S01): WSREP has not yet prepared node for application use
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!