2番目のノードのエラーログで以下を確認した後:
_121003 7:16:06 [Note] WSREP: Member 0 (joiner) synced with group.
121003 7:16:06 [Note] WSREP: Shifting JOINED -> SYNCED (TO: 0)
121003 7:16:06 [Note] WSREP: Synchronized with group, ready for connections
121003 7:16:06 [Note] WSREP: wsrep_notify_cmd is not defined, skipping notification.
121003 7:17:08 [Note] WSREP: Skipping empty log_xid: COMMIT
121003 7:17:08 [Note] WSREP: ignoring DDL failure: 0 ALTER TABLE bigdata_queue_campaigns DISABLE KEYS
121003 7:17:08 [Note] WSREP: Skipping empty log_xid: COMMIT
121003 7:17:08 [Note] WSREP: ignoring DDL failure: 0 ALTER TABLE bigdata_queue_campaigns ENABLE KEYS
...
_
_121003 7:31:33 [ERROR] Slave SQL: Error 'Table 'reportingdb.norep_zonebannertmp_bk' doesn't exist' on query. Default database: 'reportingdb'. Query: 'TRUNCATE TABLE norep_zonebannertmp_bk', Error_code: 1146
_
_121003 7:31:33 [Warning] WSREP: RBR event 1 Query apply warning: 1, 1141
_
121003 7:31:33 [Warning] WSREP: Ignoring error for TO isolated action: source: 84dcb35c-0ce4-11e2-0800-4568aec9a7f3 version: 2 local: 0 state: APPLYING flags: 65 conn_id: 1106 trx_id: -1 seqnos (l: 1196, g: 1141, s: 1140, d: 1140, ts: 1349224295344525000)
最初のノードにログインできない_mysql -u root -p
_がハングします。このノードのエラーログには何も表示されません。
Percona-XtraDB-Cluster-server-5.5.27-23.6.356.rhel5を使用しています。
さらに情報が必要な場合はお知らせください。
テーブルreportingdb.norep_zonebannertmp_bk
がクラスター内のいずれかのノードに存在しない場合、これが問題の原因である可能性があります。どうして? TRUNCATE TABLE
はDDLです。これにより、書き込みセット操作中にPXCが持っている現在のトランザクションが閉じます。これはロールバックできません。 TRUNCATE TABLE
により暗黙のCOMMITが発生するため、COMMIT
にPXC通信の問題が発生するはずです(2011年5月12日のStackOverflowの投稿を参照) 。クラスタのすべてのノードにテーブルreportingdb.norep_zonebannertmp_bk
が存在していた場合、TRUNCATE TABLE
はエラーなしで実行されます。これに関するBugReportsを確認する必要があります。おそらくこれを質問としてPerconaに提出してください。
これを解決するために2つの方法があります。
テーブルが欠落しているPXC(Percona XtraDB Cluster)でテーブルを再作成できます
SHOW CREATE TABLE reportingdb.norep_zonebannertmp_bk\G
を実行/root/Fix.sql
に貼り付けますCREATE TABLE
をCREATE TABLE IF NOT EXISTS
の/root/Fix.sql
に変更します/root/Fix.sql
を実行します他のテーブルが同期していない場合は、完全なSSTを実行する必要があります。これを行う最も積極的な方法は次のとおりです。
cd /var/lib/mysql
service mysql stop
rm -f /var/lib/mysql/galera.cache /var/lib/mysql/grastate.dat
service mysql start
/var/lib/mysql/galera.cache
がないため、ISTを実行できません。 SSTが開始されます。