用算法包提交任务时报错:Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.net.HostAndPort.getHostText()Ljava/lang/String;

  • nebula 版本:2.6.1
  • 部署方式:分布式
  • 安装方式: RPM
  • 是否为线上版本:N
    -Nebula Algorith版本:2.5.1
    -spark版本:2.4.0
    -scala版本:2.11.12
    用算法包提交任务时报错:Exception in thread “main” java.lang.NoSuchMethodError: com.google.common.net.HostAndPort.getHostText()Ljava/lang/String;
    如下图所示,请问要如何解决,之前安装的都没问题,现在换了几台服务器部署就无法提交了,不知道是不是因为spark版本不一致的原因

应该是版本问题,你可以看下这几个帖子 exchange2.0 hive导数报错NoSuchMethodError - #6,来自 nicole nebula exchange 2.0使用异常 - #6,来自 nicole 的回复

spark版本是ok的, 是guava包冲突了。 你看下新环境下guava包是不是有其他非14.0版本的
在spark_home/jars下看

确实有好几个guava包,没有14.0的,那要怎么办呀?小白一枚,不懂怎么处理 :joy:
guava包

这几个guava包是jre的,没影响的。 你手动把你本地maven仓库的guava-14.0.jar 放到spark_home/jars下试试

1 个赞

放进去了还是没用,提交任务依旧报同样的错误,需要重新编译还是怎么样操作嘛?

Nebula Exchange与集群guava版本不一致问题 - 十点 - 博客园 这个处理说的很详细,你可以参考下。 最方便的是直接在提交的命名行指定guava包

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。