--- title: "在非主节点上刷新异常检测器内存请求 - 如何解决此 Elasticsearch 异常" date: 2026-03-13 lastmod: 2026-03-13 description: "在 Elasticsearch 中,当在非主节点上发起刷新异常检测器内存需求的请求时会发生此错误。本文介绍如何解决该问题。" tags: ["异常检测器", "主节点", "内存管理", "集群配置"] summary: " 版本: 7.12-8.4 简而言之,当在 Elasticsearch 中的非主节点上发起刷新异常检测器内存需求的请求时,会发生此错误。Elasticsearch 会指定一个节点作为主节点来控制集群。要解决此问题,请确保将请求发送到主节点。您可以通过检查集群健康 API 来识别主节点。或者,您可以配置客户端以自动将请求重定向到主节点。此外,确保您的集群配置正确,并且所有节点都正确识别。 日志上下文 # 日志"Request to refresh anomaly detector memory requirement on non-master node"的类名是 MlMemoryTracker.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考: * @param listener 接收作业的内存需求;如果无法计算则为null* 。 */ public void refreshAnomalyDetectorJobMemory(String jobId; ActionListenerlistener) { if (isMaster == false) { listener.onFailure(new NotMasterException("Request to refresh anomaly detector memory requirement on non-master node")); return; } // phaser 防止在内存跟踪器的 stop() 方法返回后启动搜索 // 注意:如果通过 feature reset API 重置缓存,`phase` 会递增 " --- > **版本:** 7.12-8.4 简而言之,当在 Elasticsearch 中的非主节点上发起刷新异常检测器内存需求的请求时,会发生此错误。Elasticsearch 会指定一个节点作为主节点来控制集群。要解决此问题,请确保将请求发送到主节点。您可以通过检查集群健康 API 来识别主节点。或者,您可以配置客户端以自动将请求重定向到主节点。此外,确保您的集群配置正确,并且所有节点都正确识别。 日志上下文 ----------- 日志"Request to refresh anomaly detector memory requirement on non-master node"的类名是 [MlMemoryTracker.java.](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考: ```java * @param listener 接收作业的内存需求;如果无法计算则为null* 。 */ public void refreshAnomalyDetectorJobMemory(String jobId; ActionListenerlistener) { if (isMaster == false) { listener.onFailure(new NotMasterException("Request to refresh anomaly detector memory requirement on non-master node")); return; } // phaser 防止在内存跟踪器的 stop() 方法返回后启动搜索 // 注意:如果通过 feature reset API 重置缓存,`phase` 会递增 ```