Galera节点无法连接到群集

时间:2016-03-24 08:17:58

标签: mysql mariadb galera

你好,我正在使用Galera与10.1.12-MariaDB和SST方法是xtrabackup-v2

请不要推荐SST = rsync它对我不起作用

我有健康的集群8节点,有时一个或几个节点发生故障。 我只是service mysql开始,它们成功连接到集群,一切正常。

但有时候,当断开连接的节点几天我就无法将它们连接到集群。

经过几次尝试im rm -fr /var/lib/mysql/*& rm -fr /var/log/mysql/*也没有,他们在syslog中有这个消息:

mysqld: [ERROR] Binlog file '/var/log/mysql/mariadb-bin.003079' not found in binlog index, needed for recovery. Aborting.

我知道如何使用它,我可以恢复群集,当我有无法通过上面的消息连接到群集的节点时,所以我这样做:

  1. 关闭所有节点,只留下一个节点
  2. 关闭最后一个节点和rm -fr /var/log/mysql/*
  3. 使用已删除的binlog
  4. 引导此最后一个节点
  5. 将其他节点连接到群集service mysql start
  6. 利润 - 一切都很好
  7. 但问题是:

    我无法关闭所有生产节点,也无法关闭最后一个节点,因为我有8个节点用于服务大型站点流量,而一个正在运行的节点在所有流量进入时都会立即关闭(当然是因为过载)

    问题是:

    请帮帮我。如何在节点无法连接时将节点连接到群集并出现错误mysqld: [ERROR] Binlog file '/var/log/mysql/mariadb-bin.003079' not found in binlog index, needed for recovery. Aborting.

1 个答案:

答案 0 :(得分:1)

gcache有多大?这可以控制是否可以使用IST重新连接节点。

expire_log_days的价值是多少?它是如此之小,以至于在您尝试连接之前binlog丢失了吗?如果你失去了一个,并且需要另一个用于SST,你还有6个服务于'大网站'。听起来你需要将部署增加到10个节点才能处理网站,即使节点眨眼也是如此。

听起来你很难接受SST。

看看慢速日志,看看是否有些查询花了很长时间才会间接地强迫你拥有这么多机器。修复几个查询比添加额外的机器要便宜得多。