启动 Percona XTradb 集群的死节点
Posted
技术标签:
【中文标题】启动 Percona XTradb 集群的死节点【英文标题】:Starting a dead node of Percona XTradb cluster 【发布时间】:2018-08-25 04:49:15 【问题描述】:我们有一个包含三个节点的 Xtradb 集群。有一个节点未正确停止且无法启动。其他两个节点正常工作并响应。日志中唯一的内容是:
-- Unit mysql.service has begun starting up.
Aug 25 04:40:45 percona-prod-perconaxtradb-vm-0 /etc/init.d/mysql[2503]: MySQL PID not found, pid_file detected/guessed: /var/run/mysql
Aug 25 04:40:52 percona-prod-perconaxtradb-vm-0 mysql[2462]: Starting MySQL (Percona XtraDB Cluster) database server: mysqld . . . . .
Aug 25 04:40:52 percona-prod-perconaxtradb-vm-0 mysql[2462]: failed!
Aug 25 04:40:52 percona-prod-perconaxtradb-vm-0 systemd[1]: mysql.service: control process exited, code=exited status=1
Aug 25 04:40:52 percona-prod-perconaxtradb-vm-0 systemd[1]: Failed to start LSB: Start and stop the mysql (Percona XtraDB Cluster) daem
-- Subject: Unit mysql.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
在/var/lib/mysql/wsrep_recovery.qEEkjd
我们发现了这个:
2018-08-25T05:49:31.055887Z 0 [ERROR] Found 20 prepared transactions! It means that mysqld was not shut down properly last time and critical recovery information (last binlog or tc.log file) was manually deleted after a crash. You have to start mysqld with --tc-heuristic-recover switch to commit or rollback pending transactions.
2018-08-25T05:49:31.055892Z 0 [ERROR] Aborting
2018-08-25T05:49:31.055901Z 0 [Note] Binlog end
我们希望完全放弃这些20 prepared transactions
。
另外两个节点是一致的并且工作,所以告诉这个节点“忽略你的状态并与其他节点同步”就足够了。
【问题讨论】:
【参考方案1】:最后我们删除了死节点上的/data
文件夹并重启了节点。然后该节点开始SST
复制 - 这需要很长时间,并且可以看到的唯一进展是检查文件夹的增长大小。但后来它奏效了。
【讨论】:
以上是关于启动 Percona XTradb 集群的死节点的主要内容,如果未能解决你的问题,请参考以下文章
Installing Percona XtraDB Cluster on CentOS
Percona XtraDB Cluster(PXC) -集群环境安装(原创)