--- title: "本地发布的集群状态既没有元数据也没有路由表 - 如何解决此Elasticsearch异常" date: 2026-01-06 lastmod: 2026-01-06 description: "当Elasticsearch本地发布的集群状态同时缺少元数据和路由表时会出现此错误,通常是由于配置错误或网络问题导致的。" tags: ["Elasticsearch", "集群状态", "状态发布", "ZenDiscovery", "集群管理"] summary: "版本: 7-7.15 简而言之,当Elasticsearch本地发布的集群状态同时缺少元数据和路由表时,会出现此错误。这可能是由于配置错误或网络问题导致的。要解决此问题,您可以尝试重启Elasticsearch节点、检查集群设置或验证网络连接。如果问题仍然存在,您可能需要从备份恢复或重新索引数据。 日志上下文 # 日志"cluster state that is published locally has neither"的类名是 ZenDiscovery.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入了解的人参考: " committed version [" + newState.version() + "] source [" + clusterChangedEvent.source() + "]"); if (sentToApplier == false && processedOrFailed.get() == false) { assert false : "cluster state published locally neither processed nor failed: " + newState; logger.warn("cluster state with version [{}] that is published locally has neither been processed nor failed"; newState.version()); publishListener." --- > **版本:** 7-7.15 简而言之,当Elasticsearch本地发布的集群状态同时缺少元数据和路由表时,会出现此错误。这可能是由于配置错误或网络问题导致的。要解决此问题,您可以尝试重启Elasticsearch节点、检查集群设置或验证网络连接。如果问题仍然存在,您可能需要从备份恢复或重新索引数据。 ## 日志上下文 日志"cluster state that is published locally has neither"的类名是[ZenDiscovery.java](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/)。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入了解的人参考: ```java " committed version [" + newState.version() + "] source [" + clusterChangedEvent.source() + "]"); if (sentToApplier == false && processedOrFailed.get() == false) { assert false : "cluster state published locally neither processed nor failed: " + newState; logger.warn("cluster state with version [{}] that is published locally has neither been processed nor failed"; newState.version()); publishListener.onFailure(new FailedToCommitClusterStateException("cluster state that is published locally has neither " + "been processed nor failed")); } } } ```