原创

初始化Hive仓库报错

温馨提示:
本文最后更新于 2019年11月28日,已超过 1,821 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

初始化Hive仓库报错Exception in thread “main” java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V
初始化Hive仓库报错.png

Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V
    at org.apache.hadoop.conf.Configuration.set(Configuration.java:1357)
    at org.apache.hadoop.conf.Configuration.set(Configuration.java:1338)
    at org.apache.hadoop.mapred.JobConf.setJar(JobConf.java:536)
    at org.apache.hadoop.mapred.JobConf.setJarByClass(JobConf.java:554)
    at org.apache.hadoop.mapred.JobConf.<init>(JobConf.java:448)
    at org.apache.hadoop.hive.conf.HiveConf.initialize(HiveConf.java:4045)
    at org.apache.hadoop.hive.conf.HiveConf.<init>(HiveConf.java:4008)
    at org.apache.hive.beeline.HiveSchemaTool.<init>(HiveSchemaTool.java:82)
    at org.apache.hive.beeline.HiveSchemaTool.main(HiveSchemaTool.java:1117)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:323)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:236)

报错分析

com.google.common.base.Preconditions.checkArgument 这是因为hive内依赖的guava.jar和hadoop内的版本不一致造成的。

Hadoop的Guava的版本

/software/hadoop/hadoop-3.2.1/share/hadoop/common/lib

Hadoop3.2.1的自带guava版本.png

guava-27.0-jre.jar

Hive自带的guava的版本

/software/hive/apache-hive-2.3.6-bin/lib

Hive2.3.6的自带guava版本.png

guava-14.0.1.jar

解决办法

com.google.common.base.Preconditions.checkArgument 这是因为hive内依赖的guava.jar和hadoop内的版本不一致造成的。

删除版本低的,换成其中一个的高版本的。

[root@master lib]# pwd
/software/hive/apache-hive-2.3.6-bin/lib
[root@master lib]# rm -rf gu
guava-14.0.1.jar               guice-multibindings-4.1.0.jar  guice-servlet-4.1.0.jar        
[root@master lib]# rm -rf guava-14.0.1.jar 
[root@master lib]# cp /software/hadoop/hadoop-3.2.1/share/hadoop/common/lib/guava-27.0-jre.jar ./

初始化Hive仓库成功.png

在MySQL数据库中也初始化了Hive的数据表信息:

初始化Hive仓库成功-MySQL.png

本文目录