Exception:
Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V
错误原因:
1.系统找不到这个类所在的jar包
2.jar包的版本不一样系统不知道使用哪个。
hive启动报错的原因是后者
解决办法:
1、com.google.common.base.Preconditions.checkArgument这个类所在的jar包为:guava.jar
2、hadoop-3.2.3(路径:hadoop\share\hadoop\common\lib)中该jar包为 guava-27.0-jre.jar;而hive-3.1.3(路径:hive/lib)中该jar包为guava-19.0.jar
3、将jar包变成一致的版本:删除hive中低版本jar包,将hadoop中高版本的复制到hive的lib中。
解决Hive启动时的Guava版本冲突问题
文章描述了一个Java运行时异常,NoSuchMethodError,原因是Hive和Hadoop中Guava库的版本不一致。解决方案是将Hadoop中的高版本Guava库复制到Hive的lib目录,以统一版本。
2631

被折叠的 条评论
为什么被折叠?



