如何解决/storm/lib中的jar与提交给storm集群的jar(具有依赖关系的jar)之间的版本不兼容

krcsximq  于 2021-06-21  发布在  Storm
关注(0)|答案(0)|浏览(209)

我有一个拓扑结构,它使用kafka喷口从kafka读取数据,并将处理后的数据推送到elasticsearch。我用过,elasticsearch-2.3.3客户端。它需要guava-18.0jar依赖。我使用maven构建了一个具有依赖关系的jar。在将拓扑提交给storm之后,我得到了以下错误
java.lang.nosuchmethoderror:com.google.common.util.concurrent.moreexecutors.directexecutor()ljava/util/concurrent/executor;在org.elasticsearch.threadpool.threadpool。java:190)
经过对上述错误的查找,得知这是由于Guava罐不匹配造成的。我检查了storm服务器,在它的/lib文件夹中找到了guava-15。因为其他拓扑使用的是guava-15.jar,所以我不能直接将其升级到guava-18。
有没有一种方法,我可以通过在提交时为我的拓扑专门指定guava-18路径来解决这种依赖关系。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题