其中一个弹性搜索节点一直处于错误状态



我正试图运行一个由2个节点组成的弹性搜索集群,但其中一个节点一直处于错误状态,而另一个节点工作得很好。以下是日志

Kubernetes version 1.16.1
elasticsearch version elasticsearch-oss:6.4.3
es-cluster-0                                   1/1     Running   0          66s
es-cluster-1                                   0/1     Error     2          66s
[ERROR][o.e.g.GatewayMetaState   ] [es-cluster-1] failed to read local state, exiting...
org.elasticsearch.ElasticsearchException: java.io.IOException: failed to read [id:3, file:/usr/share/elasticsearch/data/nodes/0/indices/00hAD3unTn-m80CsNnk5YA/_state/state-3.st]
at org.elasticsearch.ExceptionsHelper.maybeThrowRuntimeAndSuppress(ExceptionsHelper.java:200) ~[elasticsearch-6.4.3.jar:6.4.3]
at org.elasticsearch.gateway.MetaDataStateFormat.loadLatestState(MetaDataStateFormat.java:304) ~[elasticsearch-6.4.3.jar:6.4.3]
at org.elasticsearch.gateway.MetaStateService.loadFullState(MetaStateService.java:64) ~[elasticsearch-6.4.3.jar:6.4.3]
at org.elasticsearch.gateway.GatewayMetaState.<init>(GatewayMetaState.java:86) [elasticsearch-6.4.3.jar:6.4.3]
at org.elasticsearch.node.Node.<init>(Node.java:447) [elasticsearch-6.4.3.jar:6.4.3]
at org.elasticsearch.node.Node.<init>(Node.java:256) [elasticsearch-6.4.3.jar:6.4.3]
at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:213) [elasticsearch-6.4.3.jar:6.4.3]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:213) [elasticsearch-6.4.3.jar:6.4.3]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:326) [elasticsearch-6.4.3.jar:6.4.3]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) [elasticsearch-6.4.3.jar:6.4.3]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:127) [elasticsearch-6.4.3.jar:6.4.3]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) [elasticsearch-6.4.3.jar:6.4.3]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) [elasticsearch-cli-6.4.3.jar:6.4.3]
at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-cli-6.4.3.jar:6.4.3]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) [elasticsearch-6.4.3.jar:6.4.3]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) [elasticsearch-6.4.3.jar:6.4.3]
Caused by: java.io.IOException: failed to read [id:3, file:/usr/share/elasticsearch/data/nodes/0/indices/00hAD3unTn-m80CsNnk5YA/_state/state-3.st]
at org.elasticsearch.gateway.MetaDataStateFormat.loadLatestState(MetaDataStateFormat.java:298) ~[elasticsearch-6.4.3.jar:6.4.3]
... 14 more
Caused by: java.lang.IllegalArgumentException: Unexpected field [mapping_version]
at org.elasticsearch.cluster.metadata.IndexMetaData$Builder.fromXContent(IndexMetaData.java:1324) ~[elasticsearch-6.4.3.jar:6.4.3]
at org.elasticsearch.cluster.metadata.IndexMetaData$2.fromXContent(IndexMetaData.java:1372) ~[elasticsearch-6.4.3.jar:6.4.3]
at org.elasticsearch.cluster.metadata.IndexMetaData$2.fromXContent(IndexMetaData.java:1361) ~[elasticsearch-6.4.3.jar:6.4.3]
at org.elasticsearch.gateway.MetaDataStateFormat.read(MetaDataStateFormat.java:196) ~[elasticsearch-6.4.3.jar:6.4.3]
at org.elasticsearch.gateway.MetaDataStateFormat.loadLatestState(MetaDataStateFormat.java:294) ~[elasticsearch-6.4.3.jar:6.4.3]
... 14 more

此索引由Elasticsearch 6.5.0或更高版本创建或修改,在此版本中无法再读取。这通常是因为您升级了Elasticsearch,然后又试图将其降级。降级是不可能的。

最简单的解决方案是继续升级。如果无法做到这一点,您将需要擦除此节点并重新启动,从最近的快照中恢复任何丢失的数据。

最新更新