當試圖啓動我的羣集的主節點,只是從1.5升級到2.0(是的,這是一個大的跳躍),我得到這個錯誤日誌後:Elasticsearch - 映射衝突錯誤升級,從1.5到2.0
[2015-11-03 18:15:10,948][ERROR][gateway ] [mon-01] failed to read local state, exiting...
java.lang.IllegalStateException: unable to upgrade the mappings for the index [logstash-2015.10.18], reason: [Mapper for [timestamp] conflicts with existing mapping in other types:
[mapper [timestamp] cannot be changed from type [date] to [string]]]
不幸的是,我沒有在現場或在現場的相關分析儀配置的詳細描述,但正如它的名字的狀態,這是從logstash時間戳,所以它應該看起來像下列操作之一:
- 「dd/MMM/yyyy:HH:mm:ss Z」
- 「YYYY-MM-DD HH:MM:SS」
- 「HH:MM:SS」
- 「YYYY-MM-DD HH:MM:SS,SSS ZZ」
- 「YYYY-MM-DD HH:MM:SS,SSSZZ」
- 「YYYY-MM-DD HH:MM:SS,SSS」
日誌與此結束:
[2015-11-03 18:15:11,383][ERROR][bootstrap ] Guice Exception: java.lang.IllegalStateException: unable to upgrade the mappings for the index [logstash-2015.10.18], reason: [Mapper for [timestamp] conflicts with existing mapping in other types:
[mapper [timestamp] cannot be changed from type [date] to [string]]]
Likely root cause: java.lang.IllegalArgumentException: Mapper for [timestamp] conflicts with existing mapping in other types:
[mapper [timestamp] cannot be changed from type [date] to [string]]
at org.elasticsearch.index.mapper.FieldTypeLookup.checkCompatibility(FieldTypeLookup.java:117)
at org.elasticsearch.index.mapper.MapperService.checkNewMappersCompatibility(MapperService.java:345)
at org.elasticsearch.index.mapper.MapperService.merge(MapperService.java:296)
at org.elasticsearch.index.mapper.MapperService.merge(MapperService.java:242)
at org.elasticsearch.cluster.metadata.MetaDataIndexUpgradeService.checkMappingsCompatibility(MetaDataIndexUpgradeService.java:329)
at org.elasticsearch.cluster.metadata.MetaDataIndexUpgradeService.upgradeIndexMetaData(MetaDataIndexUpgradeService.java:112)
at org.elasticsearch.gateway.GatewayMetaState.pre20Upgrade(GatewayMetaState.java:226)
at org.elasticsearch.gateway.GatewayMetaState.<init>(GatewayMetaState.java:85)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at <<<guice>>>
at org.elasticsearch.node.Node.<init>(Node.java:198)
at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:145)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:170)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:270)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
和節點關閉。 。
我已經仔細閱讀了#13169和#13345的問題,但這些都沒有幫助我,節點仍然無法啓動。
我知道changing the mappings在ES啓動時很容易,但我有點困在這裏。
有什麼想法?
這是一個必須具備的工具:https://github.com/elastic/elasticsearch-migration – chilladx