--- title: "请求在非主节点上放置数据框架分析内存需求 - 如何解决此 Elasticsearch 异常" date: 2026-03-08 lastmod: 2026-03-08 description: "此错误发生在 Elasticsearch 中向非主节点发出分配数据框架分析内存的请求时。Elasticsearch 要求此类操作必须在主节点上执行。" tags: ["数据框架分析", "内存管理", "主节点", "异常处理"] summary: " 版本: 7.12-8.4 简而言之,当在 Elasticsearch 的非主节点上发出分配数据框架分析内存的请求时,会发生此错误。Elasticsearch 要求此类操作必须在主节点上执行。要解决此问题,您可以将请求重定向到主节点,或者配置集群以允许非主节点处理此类请求。然而,后一种选项可能会影响集群的性能和稳定性,因此通常建议在主节点上执行这些操作。 日志上下文 # 日志"Request to put data frame analytics memory requirement on non-master node"的类名是 MlMemoryTracker.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考: * @param listener Called when the refresh is complete or fails. */ public void addDataFrameAnalyticsJobMemoryAndRefreshAllOthers(String id; long mem; ActionListenerlistener) { if (isMaster == false) { listener.onFailure(new NotMasterException("Request to put data frame analytics memory requirement on non-master node")); return; } memoryRequirementByDataFrameAnalyticsJob.put(id; mem + DataFrameAnalyticsConfig.PROCESS_MEMORY_OVERHEAD.getBytes()); " --- > **版本:** 7.12-8.4 简而言之,当在 Elasticsearch 的非主节点上发出分配数据框架分析内存的请求时,会发生此错误。Elasticsearch 要求此类操作必须在主节点上执行。要解决此问题,您可以将请求重定向到主节点,或者配置集群以允许非主节点处理此类请求。然而,后一种选项可能会影响集群的性能和稳定性,因此通常建议在主节点上执行这些操作。 日志上下文 ----------- 日志"Request to put data frame analytics memory requirement on non-master node"的类名是 [MlMemoryTracker.java.](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考: ```java * @param listener Called when the refresh is complete or fails. */ public void addDataFrameAnalyticsJobMemoryAndRefreshAllOthers(String id; long mem; ActionListenerlistener) { if (isMaster == false) { listener.onFailure(new NotMasterException("Request to put data frame analytics memory requirement on non-master node")); return; } memoryRequirementByDataFrameAnalyticsJob.put(id; mem + DataFrameAnalyticsConfig.PROCESS_MEMORY_OVERHEAD.getBytes()); ```