4

我在将新节点加入 percona xtradbcluster 时遇到问题。

这是我的日志:

我测试了 test_sstuser 在荣誉上工作,没有任何问题。

但在新节点中我得到这些错误:

2014-05-31 04:01:40 2391 [Warning] WSREP: Failed to prepare for incremental state transfer: Local state UUID (00000000-0000-0000-0000-000000000000) does not match group state UUID (02dc9b38-e825-11e3-a67b-4bfddfde0c98): 1 (Operation not permitted)
 at galera/src/replicator_str.cpp:prepare_for_IST():447. IST will be unavailable.
WSREP_SST: [ERROR] Error while getting data from donor node:  exit codes: 1 0 (20140531 04:01:40.934)
WSREP_SST: [ERROR] Cleanup after exit with status:32 (20140531 04:01:40.936)
2014-05-31 04:01:40 2391 [ERROR] WSREP: Process completed with error: wsrep_sst_xtrabackup-v2 --role 'joiner' --address '192.168.0.2' --auth 'test_sstuser:123456' --datadir '/var/lib/mysql/' --defaults-file '/etc/mysql/my.cnf' --parent '2391'  '' : 32 (Broken pipe)
2014-05-31 04:01:40 2391 [ERROR] WSREP: Failed to read uuid:seqno from joiner script.
2014-05-31 04:01:40 2391 [ERROR] WSREP: SST failed: 32 (Broken pipe)
2014-05-31 04:01:40 2391 [ERROR] Aborting
2014-05-31 04:01:41 2391 [Warning] WSREP: 1.0 (test.host.com): State transfer to 0.0 (master-2.test.net) failed: -32 (Broken pipe)
2014-05-31 04:01:41 2391 [ERROR] WSREP: gcs/src/gcs_group.c:gcs_group_handle_join_msg():723: Will never receive state. Need to abort.

我怎么解决这个问题 ?

此致

阿里

4

3 回答 3

3

我有同样的问题,还有另一个消息:

WSREP_SST: [ERROR] xtrabackup process ended without creating '/path/to/mysql/xtrabackup_galera_info' (20150108 13:09:23.012)

问题是我使用的是 xtrabackup 而不是 xtrabackup-v2 在我的/etc/mysql/my.cnf

wsrep_sst_method                        = xtrabackup

将其设置为:

wsrep_sst_method                        = xtrabackup-v2

解决了这个问题。

有些人建议不要设置此变量。

于 2015-01-08T12:20:04.753 回答
1

我遇到过同样的问题。修复很简单,只需在 [mysqld] 部分的 my.cnf 中添加以下内容 innodb_log_file_size=48M

(使用您需要的任何大小的日志文件,对于小型 Db 来说 48M 就可以了)

然后按照说明使用新的日志文件大小重新启动 mysql。基础是(但请阅读手册!) stop mysql remove the ib_logfile* files from /var/lib/mysql restart mysql

确保不要使用 innodb 快速关闭(阅读手册!)

于 2014-07-25T20:14:48.110 回答
1

我们刚刚在 3 节点集群中的 1 个节点上遇到了这个错误。手动将/var/lib/mysql来自健康节点的 rsync(我们在 rsync 期间停止该节点以在同步时不更改文件)到损坏的节点是我们需要让它再次运行的方法。

于 2015-02-25T07:34:53.823 回答