elasticsearch,Java,Scala,Maven,elasticsearch" /> elasticsearch,Java,Scala,Maven,elasticsearch" />

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

关于elasticsearch java api错误的奇怪问题,java,scala,maven,elasticsearch,Java,Scala,Maven,elasticsearch,我想使用spark streaming获取kafka数据并写入Es。我使用5.4JavaAPI。我的环境是spark_2.1.1(独立),kafka是0.10.0.1,es是5.4.1。我可以正确地获取卡夫卡数据。但当我尝试将数据写入Es时,它会显示一些错误: 警告TaskSetManager:在阶段0.0(TID 1,xxx)中丢失了任务1.0:java.lang.NoSuchMethodError:io.netty.util.internal.ObjectUtil.checkPositive

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

警告TaskSetManager:在阶段0.0(TID 1,xxx)中丢失了任务1.0:java.lang.NoSuchMethodError:io.netty.util.internal.ObjectUtil.checkPositive(ILjava/lang/String;)I 在io.netty.util.NettyRuntime$AvailableProcessorsHolder.setAvailableProcessor(NettyRuntime.java:44) 位于io.netty.util.NettyRuntime$AvailableProcessorsHolder.AvailableProcessor(NettyRuntime.java:70) 位于io.netty.util.NettyRuntime.availableProcessors(NettyRuntime.java:98) 位于org.elasticsearch.transport.netty4.Netty4Utils.setAvailableProcessors(Netty4Utils.java:83) 请访问org.elasticsearch.transport.netty4.Netty4Transport。(Netty4Transport.java:138) 在org.elasticsearch.xpack.security.transport.netty4.SecurityNetty4Transport.(SecurityNetty4Transport.java:65) 位于org.elasticsearch.xpack.security.security.lambda$getTransports$13(security.java:779) 位于org.elasticsearch.client.transport.TransportClient.buildTemplate(TransportClient.java:176) 位于org.elasticsearch.client.transport.TransportClient.(TransportClient.java:268) 位于org.elasticsearch.transport.client.PreBuiltTransportClient。(PreBuiltTransportClient.java:127) 在org.elasticsearch.xpack.client.PreBuiltXPackTransportClient.(PreBuiltXPackTransportClient.java:55) 在org.elasticsearch.xpack.client.PreBuiltXPackTransportClient.(PreBuiltXPackTransportClient.java:50) 在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
,它们都有正确的方法

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

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

您有两个JAR具有ObjectUtil类。JVM在运行时决定类,通常选择它得到的第一个类。我相信另一个可能来自
nettyall
jar。您能检查一下依赖关系树吗?

您有两个JAR具有ObjectUtil类。JVM在运行时决定类,通常选择它得到的第一个类。我相信另一个可能来自
nettyall
jar。您能检查一下依赖关系树吗?

谢谢格式化。谢谢格式化。