MariaDB 10.2 Xtrabackup/usr//bin/wsrep_sst_xtrabackup-v2 wsrep_sst_OPT_端口:未绑定变量

MariaDB 10.2 Xtrabackup/usr//bin/wsrep_sst_xtrabackup-v2 wsrep_sst_OPT_端口:未绑定变量,mariadb,Mariadb,我刚刚安装了一组新的Ubuntu16.04节点,它应该作为MariaDB 10.2主集群使用,使用XtraBackup作为SST方法 第一个节点使用galera_new_cluster命令运行正常,但第二个节点由于以下错误而无法加入群集: Nov 15 10:59:09 mariadb10 mysqld[15664]: 2017-11-15 10:59:09 140259808827136 [Warning] WSREP: Gap in state sequence. Need state tr

我刚刚安装了一组新的Ubuntu16.04节点,它应该作为MariaDB 10.2主集群使用,使用XtraBackup作为SST方法

第一个节点使用galera_new_cluster命令运行正常,但第二个节点由于以下错误而无法加入群集:

Nov 15 10:59:09 mariadb10 mysqld[15664]: 2017-11-15 10:59:09 140259808827136 [Warning] WSREP: Gap in state sequence. Need state transfer.
Nov 15 10:59:09 mariadb10 mysqld[15664]: 2017-11-15 10:59:09 140259416360704 [Note] WSREP: Running: 'wsrep_sst_xtrabackup-v2 --role 'joiner' --address '10.0.0.10' --datadir '/var/lib/mysql/'   --parent '15664' --binlog '/var/log/mysql/mariadb-bin' '
Nov 15 10:59:09 mariadb10 mysqld[15664]: /usr//bin/wsrep_sst_xtrabackup-v2: line 646: WSREP_SST_OPT_PORT: unbound variable
Nov 15 10:59:09 mariadb10 mysqld[15664]: 2017-11-15 10:59:09 140259416360704 [ERROR] WSREP: Failed to read 'ready <addr>' from: wsrep_sst_xtrabackup-v2 --role 'joiner' --address '10.0.0.10' --datadir '/var/lib/mysql/'   --parent '15664' --binlog '/var/log/mysql/mariadb-bin'
Nov 15 10:59:09 mariadb10 mysqld[15664]: #011Read: '(null)'
Nov 15 10:59:09 mariadb10 mysqld[15664]: 2017-11-15 10:59:09 140259416360704 [ERROR] WSREP: Process completed with error: wsrep_sst_xtrabackup-v2 --role 'joiner' --address '10.0.0.10' --datadir '/var/lib/mysql/'   --parent '15664' --binlog '/var/log/mysql/mariadb-bin' : 1 (Operation not permitted)
Nov 15 10:59:09 mariadb10 mysqld[15664]: 2017-11-15 10:59:09 140259808827136 [ERROR] WSREP: Failed to prepare for 'xtrabackup-v2' SST. Unrecoverable.

这至少解决了我的非启动集群问题,但如果我知道如何让它在没有这种解决方法的情况下工作,那就太好了。

您遇到的行为实际上是MariaDB 10.2.10中的一个bug,MariaDB团队已经提出了一个修复方案,很可能在不久的将来发布

这是指向MariaDB bug tracker上问题的链接:

if [ -n "${WSREP_SST_OPT_ADDR_PORT:-}" ]; then
  if [ -n "${WSREP_SST_OPT_PORT:-}" ]; then
...
  else
    readonly WSREP_SST_OPT_PORT="$WSREP_SST_OPT_ADDR_PORT"
  fi
fi

# Start of the workaround
if [ -z "${WSREP_SST_OPT_PORT:-}" ]; then
  readonly WSREP_SST_OPT_PORT="4444"
fi
# End of the workaround