Spring引导和弹性搜索不支持的版本最小兼容版本

时间:2017-12-15 12:59:59

标签: java elasticsearch elasticsearch-plugin spring-data-elasticsearch

这是我的pom.xml

http://maven.apache.org/xsd/maven-4.0.0.xsd">   4.0.0   it.test   searchTest   0.0.1-SNAPSHOT

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.0.M5</version>
</parent>

<properties>
    <java.version>1.8</java.version>
</properties>

<dependencies>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    <!-- Runtime, for Embedded Elasticsearch,
        comment this if connect to external elastic search server-->

    <dependency>
        <groupId>net.java.dev.jna</groupId>
        <artifactId>jna</artifactId>
        <scope>runtime</scope>
    </dependency>

    <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>transport</artifactId>

    </dependency>
</dependencies>

<build>
    <plugins>
        <!-- Package as an executable jar/war -->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

当我开始我的项目时,我已经返回了这个堆栈跟踪:

    [2017-12-15T13:36:15,670][WARN ][o.e.t.n.Netty4Transport  ] [node1] exception caught on transport layer [org.elasticsearch.transport.netty4.NettyTcpChannel@7c08d374], closing connection
java.lang.IllegalStateException: Received message from unsupported version: [5.5.3] minimal compatible version is: [5.6.0]
        at org.elasticsearch.transport.TcpTransport.ensureVersionCompatibility(TcpTransport.java:1428) ~[elasticsearch-6.1.0.jar:6.1.0]
        at org.elasticsearch.transport.TcpTransport.messageReceived(TcpTransport.java:1375) ~[elasticsearch-6.1.0.jar:6.1.0]
        at org.elasticsearch.transport.netty4.Netty4MessageChannelHandler.channelRead(Netty4MessageChannelHandler.java:64) ~[transport-netty4-6.1.0.jar:6.1.0]

为了解决这种不相容问题,我必须在我的pom中改变什么?

由于

4 个答案:

答案 0 :(得分:2)

你的ElasticSearch的版本是什么,也许你可以尝试在你的pom中添加这个属性。

<properties>
    <elasticsearch.version>6.1.0</elasticsearch.version>
</properties>

答案 1 :(得分:1)

将传输版本更改为与弹性搜索实例相同

答案 2 :(得分:1)

我总是发现Spring data elasticsearch matrix表对于确定要使用的兼容版本很有用。

要将ES版本从更改为兼容版本,请使用Spring Boot专用模块指定依赖项版本。将elasticsearch.version添加到pom属性中

<properties>
    ...
    <elasticsearch.version>1.7.2</elasticsearch.version>
    ...
</properties>

enter image description here

答案 3 :(得分:0)

我也得到了类似的错误但得到了解决,在此之前我想突出我的春季启动启动器父版本是1.5.9.RELEASE,其次我只使用spring-boot-starter-data-elasticsearch artifact for spring可以删除引导弹性搜索和其他工件,最后您使用已安装的弹性搜索应用程序收到的现象问题,尝试下载此版本https://www.elastic.co/downloads/past-releases/elasticsearch-2-4-0并重试....