集群故障检测

编辑

被选出的主节点会定期检查集群中的每个节点,以确保它们仍然连接且运行正常。集群中的每个节点也会定期检查被选出的主节点的健康状况。这些检查分别称为跟随者检查领导者检查

Elasticsearch 允许这些检查偶尔失败或超时而不采取任何措施。只有在多次连续检查失败后,它才会认为节点出现故障。您可以使用cluster.fault_detection.* 设置来控制故障检测行为。

但是,如果被选出的主节点检测到某个节点已断开连接,则这种情况将被视为立即失败。主节点将绕过超时和重试设置值,并尝试从集群中删除该节点。同样,如果节点检测到被选出的主节点已断开连接,则这种情况将被视为立即失败。该节点将绕过超时和重试设置,并重新启动其发现阶段,以尝试查找或选举新的主节点。

此外,每个节点会定期通过向磁盘写入一个小文件然后再将其删除来验证其数据路径是否健康。如果节点发现其数据路径不健康,则会将其从集群中删除,直到数据路径恢复正常。您可以使用monitor.fs.health 设置来控制此行为。

如果节点无法在合理的时间内应用更新的集群状态,被选出的主节点也会从集群中删除这些节点。超时时间默认为从集群状态更新开始的 2 分钟。有关更详细的说明,请参阅发布集群状态

解决不稳定的集群问题

编辑

请参阅解决不稳定的集群问题

诊断 disconnected 节点
编辑

请参阅诊断 disconnected 节点

诊断 lagging 节点
编辑

请参阅诊断 lagging 节点

诊断 follower check retry count exceeded 节点
编辑

请参阅诊断 follower check retry count exceeded 节点

诊断 ShardLockObtainFailedException 故障
编辑

请参阅诊断 ShardLockObtainFailedException 故障

诊断其他网络断开连接
编辑

请参阅诊断其他网络断开连接