我正在CentOS 6上运行一个3节点的MariaDB 10 Galera集群。我已经使用过这个设置,没有问题,但现在当添加第三个节点SST失败时,在日志中出现这个错误:
150212 18:03:02 [Warning] WSREP: 1.0 (server1.example.com): State transfer to 0.0 (server3.example.com) failed: -22 (Invalid argument) 150212 18:03:02 [ERROR] WSREP: gcs/src/gcs_group.c:gcs_group_handle_join_msg():723: Will never receive state. Need to abort.
检查施主节点的日志显示:
150212 18:03:01 [ERROR] WSREP: Failed to read from: wsrep_sst_xtrabackup-v2 --role 'donor' --address '192.168.0.3:4444/xtrabackup_sst' --auth 'wsrep_sst:wsrep_pass' --socket '/var/lib/mysql/mysql.sock' --datadir '/var/lib/mysql/' --defaults-file '/etc/my.cnf' --binlog 'mysql-bin' --gtid '8561e69a-9beb-11e4-825a-f2380deeda3b:18365' 150212 18:03:01 [ERROR] WSREP: Process completed with error: wsrep_sst_xtrabackup-v2 --role 'donor' --address '192.168.0.3:4444/xtrabackup_sst' --auth 'wsrep_sst:wsrep_pass' --socket '/var/lib/mysql/mysql.sock' --datadir '/var/lib/mysql/' --defaults-file '/etc/my.cnf' --binlog 'mysql-bin' --gtid '8561e69a-9beb-11e4-825a-f2380deeda3b:18365': 22 (Invalid argument) 150212 18:03:01 [ERROR] WSREP: Command did not run: wsrep_sst_xtrabackup-v2 --role 'donor' --address '192.168.0.3:4444/xtrabackup_sst' --auth 'wsrep_sst:wsrep_pass' --socket '/var/lib/mysql/mysql.sock' --datadir '/var/lib/mysql/' --defaults-file '/etc/my.cnf' --binlog 'mysql-bin' --gtid '8561e69a-9beb-11e4-825a-f2380deeda3b:18365'
我的configuration看起来像这样:
[server] wsrep_provider="/usr/lib64/galera/libgalera_smm.so" wsrep_cluster_address="gcomm://192.168.0.1,192.168.0.2,192.168.0.3" wsrep_cluster_name='MY_CLUSTER' wsrep_sst_auth=wsrep_sst:wsrep_pass wsrep_sst_method=xtrabackup-v2 wsrep_sst_receive_address=192.168.0.3 default_storage_engine=InnoDB innodb_autoinc_lock_mode=2 innodb_doublewrite=1 innodb_file_per_table=1 query_cache_size=0 binlog_format=ROW log-bin=mysql-bin [mysqld] datadir=/var/lib/mysql tmpdir=/tmp user=mysql bind-address=0.0.0.0
节点的wsrep_sst_receive_address值不同。
你确定你在所有的节点上使用完全相同的版本吗? 在某些时候,SST方法中存在版本不兼容的变化,导致SST在不同版本之间失败。
wsrep_sst_method有一个configuration选项,允许两个不同的版本之间SST。