启动Hive时出错:java.lang.NoClassDefFoundError:org / apache / hadoop / hive / conf / HiveConf

时间:2012-11-11 17:22:08

标签: hadoop hbase hive

我已经下载了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。

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

3 个答案:

答案 0 :(得分: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,请告诉我。

答案 1 :(得分: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

感谢您的帮助。

答案 2 :(得分:0)

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