elasticsearch - Elasticsearch 节点之一继续进入错误状态

标签 elasticsearch

我正在尝试运行 2 个节点的 Elasticsearch 集群,但其中一个节点一直处于错误状态,而另一个节点工作正常。以下是日志

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,然后又尝试将其降级。降级是不可能的。

最简单的解决方案是继续升级。如果这不可能,您将需要删除此节点并重新开始,从最近的快照中恢复任何丢失的数据。

关于elasticsearch - Elasticsearch 节点之一继续进入错误状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60648681/

相关文章:

scala - 如何使用Scala在Spark中表示 Elasticsearch DSL查询?

Elasticsearch,连接数据类型 : single mapping type for parent and child fields

linux - 难以浏览 Kibana 3

javascript - 如何为elasticsearch生成随机记录

elasticsearch - Kibana的Javascript文档

elasticsearch - 确切的子字符串匹配| Elasticsearch

elasticsearch - 增加内存大小elasticsearch

field - 返回一个自定义字段,其中值取决于Elasticsearch中的查询

Elasticsearch,过滤重音

elasticsearch - 搜索具有不同字段的多个索引