エラー1047(08S01):WSREPは、アプリケーションで使用するノードをまだ準備していません



Error 1047 Wsrep Has Not Yet Prepared Node



同僚は、3ノードのGaleraクラスターにノードが1つだけ残っているかどうかを尋ねましたが、それでも読み取りおよび書き込みサービスを提供できますか?
2つのケースがあります:
1.ノードの通常のシャットダウン
クラスター内の両方のノードが正常にシャットダウンされた場合でも、クラスター内の残りのノードは読み取りおよび書き込みサービスを提供できます。

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

第二に、ノードの異常な終了
クラスター内の両方のノードが異常終了した場合、クラスター内の残りの1つのノードは読み取りおよび書き込みサービスを提供できますか?
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に設定されている場合、データの読み取り時にエラー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