java - 关于elasticsearch java api错误的奇怪问题

标签 java scala maven elasticsearch

我想使用spark-streaming获取kafka数据并写入Es。我使用 5.4 java API。我的环境是spark_2.1.1(独立),kafka是0.10.0.1,es是5.4.1。我可以正确获取kafka数据。但是当我尝试向 Es 写入数据时,它显示一些错误:

WARN TaskSetManager: Lost task 1.0 in stage 0.0 (TID 1, xxx): java.lang.NoSuchMethodError: io.netty.util.internal.ObjectUtil.checkPositive(ILjava/lang/String;)I at io.netty.util.NettyRuntime$AvailableProcessorsHolder.setAvailableProcessors(NettyRuntime.java:44) at io.netty.util.NettyRuntime$AvailableProcessorsHolder.availableProcessors(NettyRuntime.java:70) at io.netty.util.NettyRuntime.availableProcessors(NettyRuntime.java:98) at org.elasticsearch.transport.netty4.Netty4Utils.setAvailableProcessors(Netty4Utils.java:83) at org.elasticsearch.transport.netty4.Netty4Transport.(Netty4Transport.java:138) at org.elasticsearch.xpack.security.transport.netty4.SecurityNetty4Transport.(SecurityNetty4Transport.java:65) at org.elasticsearch.xpack.security.Security.lambda$getTransports$13(Security.java:779) at org.elasticsearch.client.transport.TransportClient.buildTemplate(TransportClient.java:176) at org.elasticsearch.client.transport.TransportClient.(TransportClient.java:268) at org.elasticsearch.transport.client.PreBuiltTransportClient.(PreBuiltTransportClient.java:127) at org.elasticsearch.xpack.client.PreBuiltXPackTransportClient.(PreBuiltXPackTransportClient.java:55) at org.elasticsearch.xpack.client.PreBuiltXPackTransportClient.(PreBuiltXPackTransportClient.java:50) at org.elasticsearch.xpack.client.PreBuiltXPackTransportClient.(PreBuiltXPackTransportClient.java:46)

但是我发现我有这个方法,就像这样: Maven:io.netty:netty-all:4.1.11.Final 和 Maven:io.netty:netty-common:4.1.11.Final,它们都有正确的方法。

出于安全原因,我的代码如下,xxx:

 val esc = new PreBuiltXPackTransportClient(settings)
      .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("xxx"), xxx))
      .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("xxx"), xxx))

最佳答案

您有两个具有 ObjectUtil 类的 jar。 JVM 在运行时决定类,通常会选择它获得的第一个类。我相信另一个来自 netty-all jar。你能检查一下依赖树吗?

关于java - 关于elasticsearch java api错误的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44557167/

相关文章:

java - 使用jaxb java解析字符串父节点xml

java - 是否可以在一个属性文件中包含两个不同的数据库属性?

java - 将字符串分配给字符数组中的区域时,字符串的大小会增加

java - 类中的构造函数不能应用于给定类型;发现 : java. lang.String,char 原因:实际参数列表和形式参数列表长度不同

scala - 如何在scaladoc中转义/*?

java - 配置Web应用程序的上下文路径

scala - 模式匹配依赖类型 - 如何避免 asInstanceOf?

Scalajs 和 Scala ZIO

java - Maven 安装不考虑命令行参数

Git for Windows(64 位)中的 Maven classworlds.launcher.Launcher 错误