启动hive报错:java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V(已解决)

报错详情:

技术分享图片

从报错信息来看:

一,java.lang.NoSuchMethodError

  原因:1.系统找不到相关jar包

                  2.同一类型的 jar 包有不同版本存在,系统无法决定使用哪一个

二,com.google.common.base.Preconditions.checkArgument

根据百度可知,该类来自于guava.jar

三,查看该jar包在hadoop和hive中的版本信息

  hadoop-3.2.1(路径:hadoopsharehadoopcommonlib)中该jar包为  guava-27.0-jre.jar

技术分享图片

   hive-2.3.6(路径:hive/lib)中该jar包为guava-14.0.1.jar

  技术分享图片

四,解决方案

删除hive中低版本的guava-14.0.1.jar包,将hadoop中的guava-27.0-jre.jar复制到hive的lib目录下即可。

五,成功运行hive

技术分享图片

转载自:http://www.bubuko.com/infodetail-3286965.html

原文地址:https://www.cnblogs.com/guohu/p/13200879.html