请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

ES 客户端报错,请教下老师这是什么错误

一共有两个项目,一个比较简单只有es,另外一个复杂,有微服务等之类的(比较多)。
简单的项目es不报错,复杂的项目es报错。(两份es配置是相互复制的)错误如下。这个问题google、百度都没有搜到。
老师见多识广,想请教一下这是什么错误??
起初以为是通信不通,但是另外一个简单的项目可以随便启动关闭。有点不太懂。

Exception in thread "elasticsearch[_client_][management][T#1]" java.lang.AbstractMethodError: org.elasticsearch.transport.TcpTransport.sendMessage(Ljava/lang/Object;Lorg/elasticsearch/common/bytes/BytesReference;Ljava/lang/Runnable;)V

at org.elasticsearch.transport.TcpTransport.internalSendMessage(TcpTransport.java:1111)

at org.elasticsearch.transport.TcpTransport.sendRequestToChannel(TcpTransport.java:1093)

at org.elasticsearch.transport.TcpTransport.executeHandshake(TcpTransport.java:1600)

at org.elasticsearch.transport.TcpTransport.openConnection(TcpTransport.java:568)

at org.elasticsearch.transport.TcpTransport.openConnection(TcpTransport.java:114)

at org.elasticsearch.transport.TransportService.openConnection(TransportService.java:351)

at org.elasticsearch.client.transport.TransportClientNodesService$SniffNodesSampler$1.doRun(TransportClientNodesService.java:506)

at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:638)

at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at java.lang.Thread.run(Thread.java:748)



正在回答 回答被采纳积分+3

1回答

瓦力老师 2018-02-04 09:23:39

亲,es报错和项目是否复杂没有直接的关系哈,另外,从你的异常信息来分析,怀疑是序列化出错了,可以debug看下在异常时发送的数据是什么样子的,来确认下。祝亲学习愉快^O^

0 回复 有任何疑惑可以回复我~
  • 提问者 靈寶 #1
    卧槽,坑哭!maven的jar包管理问题。我用的es5.6.0,boot2.0.0,在A项目里引入的es的netty4插件是5.5.3,在B项目的netty插件是5.6.6。而后导致的通信故障!
    在把B项目的repositories引入A项目,A项目也变成5.6.6,即便去掉也恢复不回来了。
    采取的策略,删除后单独加:
    <dependency>
                <groupId>org.elasticsearch</groupId>
                <artifactId>elasticsearch</artifactId>
                <version>5.6.0</version>
            </dependency>
    
            <dependency>
                <groupId>org.elasticsearch.client</groupId>
                <artifactId>transport</artifactId>
                <version>5.6.0</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.elasticsearch.plugin</groupId>
                        <artifactId>transport-netty4-client</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
    
            <dependency>
                <groupId>org.elasticsearch.plugin</groupId>
                <artifactId>transport-netty4-client</artifactId>
                <version>5.5.3</version>
            </dependency>
    回复 有任何疑惑可以回复我~ 2018-02-05 10:34:49
  • 提问者 靈寶 #2
    幸好听了老师的debug看一下,才发现jar包不一样。谢谢!期间各种改.idea里的maven也不管用。旁观者清啊!
    回复 有任何疑惑可以回复我~ 2018-02-05 10:38:12
  • zjg23 回复 提问者 靈寶 #3
    你的意思是transport-netty4-clien得用5.5.3版本?
    回复 有任何疑惑可以回复我~ 2018-07-18 19:23:48
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信