3

我已经下载了 Hive 的最新稳定版本,当我启动 /usr/local/hive/bin/hive 时,它​​给了我这个错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hive/conf/HiveConf
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.apache.hadoop.util.RunJar.main(RunJar.java:149)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 3 more

Hadoop DFS 已启动并正常工作,我已更改 /usr/local/hive/conf/hive-env.sh 以导出 HADOOP_HOME。

有谁知道我还能做什么?谢谢。

4

3 回答 3

1

除了编辑 hive-env.sh 之外,您还需要编辑 bash_profile。

vim ~/.bash_profile

将以下行添加到您的 bash_profile

export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin

保存此文件,然后

source ~/.bash_profile

如果这仍然不起作用,请包含您的 hive-env.sh 文件和 hive-site.xml 文件。另外请告诉我您使用的是 derby 还是 mysql 作为 Metastore。

于 2012-11-12T12:24:55.247 回答
0

解决移动:

export HADOOP_CLASSPATH=/usr/local/hbase/hbase-0.94.1.jar:/usr/local/hbase/hbase-0.94.1-test.jar:/usr/local/hbase/conf:/usr/local/hbase/lib/zookeeper-3.4.3.jar:/usr/local/hive/lib/*.jar:/usr/local/hbase

/usr/local/hadoop/conf/hadoop-env.sh~/.bashrc

谢谢您的帮助。

于 2012-11-12T16:02:30.867 回答
0

如果您在 hive-imports 时在 sqoop 中遇到此问题,那么您需要从 $HIVE_HOME/lib 文件夹中复制 hive-common-3.1.2.jar(或任何版本的 hive-common-xxxjar)并将其粘贴到 $ SQOOP_HOME/lib 文件夹,错误将消失

于 2021-07-18T09:04:49.090 回答