20.7 组复制性能和故障排除
群组复制是为了创建具有内置故障检测和自动恢复的系统。如果一个成员服务器实例自愿离开或停止与群组通信,剩余成员之间同意重新配置群组,并选择新的主节点如果需要。被驱逐的成员自动尝试重新加入群组,並通过分布式恢复来更新到最新状态。如果群组遇到无法联系多数成员以达成一致的决策水平,它将识别自己已经失去_quorum_并停止处理事务。群组复制还具有内置机制和设置,以帮助群组适应和管理工作负载和消息大小的变化,并在底层系统和网络资源限制之下运行。
群组复制的系统变量默认设置旨在最大化群组的性能和自治。以下信息旨在帮助您配置复制群组,以优化自动处理特定系统中出现的重复问题,例如瞬态网络中断或工作负载和事务超过服务器实例资源。
如果您发现群组成员频繁被驱逐并重新加入群组,您可能需要调整Group Replication的故障检测设置,以适应您的系统。这种情况可能会在较慢的网络或机器上出现,或者在网络中断频率高或计划中断的情况下出现。在处理这种情况时,请查看第20.7.7节,“Responses to Failure Detection and Network Partitioning”以获取相关建议。
在 Group Replication 设置中,您通常只需要手动干预,如果群组无法自动处理某些问题。一些可能需要管理员介入的问题包括:当成员处于ERROR
状态且无法重新加入群组,或者网络分区导致群组失去多数票。
-
如果一个正确配置和运行的成员无法使用分布式恢复Join或重新加入群组,并且保持在
ERROR
状态,第20.5.4.4节,“分布式恢复的故障容忍性”中解释了可能的问题之一是加入成员拥有额外事务,而这些事务不在群组现有成员上。关于该情况的处理方法,请见第20.4.1节,“GTIDs和Group Replication”。 -
如果群组失去多数票,这可能是由于网络分区将群组分为两个部分,或者可能是大多数服务器的故障。关于该情况的处理方法,请见第20.7.8节,“处理网络分区和失去多数票”。