--- title: "延迟重新路由原因已取消 – 如何解决此 Elasticsearch 异常" date: 2026-02-23 lastmod: 2026-02-23 description: "Elasticsearch 集群在尝试自我重新平衡或从节点故障恢复时,重新路由过程被中断或取消的错误。" tags: ["集群管理", "节点故障", "重新路由"] summary: " 版本: 7.3-8.2 简要来说,当 Elasticsearch 集群尝试自我重新平衡或从节点故障恢复时,但该过程被中断或取消,就会发生此错误。这可能是由于网络问题、节点故障或配置问题造成的。要解决此问题,您可以检查集群的健康状况和日志,以识别任何有问题的节点或网络问题。您可能还需要调整集群设置或增加超时值,以允许更长时间的重新路由操作。此外,请确保您的 Elasticsearch 版本是最新的,以避免任何已知的错误。 日志上下文 # 日志 “delayed reroute [” + reason + “] cancelled” 的类名是 BatchedRerouteService.java。我们从 Elasticsearch 源代码中提取了以下内容,供寻求深入背景的人参考: synchronized (mutex) { if (pendingRerouteListeners == currentListeners) { pendingRerouteListeners = null; } } ActionListener.onFailure(currentListeners, new NotMasterException("delayed reroute [" + reason + "] cancelled")); // no big deal; the new master will reroute again } @Override public void onFailure(Exception e) { " --- > **版本:** 7.3-8.2 简要来说,当 Elasticsearch 集群尝试自我重新平衡或从节点故障恢复时,但该过程被中断或取消,就会发生此错误。这可能是由于网络问题、节点故障或配置问题造成的。要解决此问题,您可以检查集群的健康状况和日志,以识别任何有问题的节点或网络问题。您可能还需要调整集群设置或增加超时值,以允许更长时间的重新路由操作。此外,请确保您的 Elasticsearch 版本是最新的,以避免任何已知的错误。 日志上下文 ----------- 日志 "delayed reroute [" + reason + "] cancelled" 的类名是 [BatchedRerouteService.java](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/)。我们从 Elasticsearch 源代码中提取了以下内容,供寻求深入背景的人参考: ```java synchronized (mutex) { if (pendingRerouteListeners == currentListeners) { pendingRerouteListeners = null; } } ActionListener.onFailure(currentListeners, new NotMasterException("delayed reroute [" + reason + "] cancelled")); // no big deal; the new master will reroute again } @Override public void onFailure(Exception e) { ```