簡體   English   中英

蜂巢 - java.lang.NoClassDefFoundError: org/apache/hadoop/hive/conf/HiveVariableSource

[英]hive - java.lang.NoClassDefFoundError: org/apache/hadoop/hive/conf/HiveVariableSource

我安裝了 hadoop-2.7.1 和 hive-2.0.1。

這是我的目錄結構:

~/hadoop-2.7.1/ # hadoop directory
~/hadoop-2.7.1/hive/apache-hive-2.0.1-bin # hive directory

我的問題是,當我在~/hadoop-2.7.1/hive/apache-hive-2.0.1-bin/bin/啟動./hive時,會發生此錯誤:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hive/conf/HiveVariableSource
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.apache.hadoop.util.RunJar.run(RunJar.java:214)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveVariableSource
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 4 more

我剛剛下載了apache-hive-2.0.1-bin.tar.gz並解壓了它。 我沒有做任何其他配置。

我正在使用 amazon ec2(ubuntu) 並且所有 hadoop 節點都啟動良好。

編輯

這是我的hadoop-env.sh

...(omitted)...
export HADOOP_PID_DIR=${HADOOP_PID_DIR}
export HADOOP_SECURE_DN_PID_DIR=${HADOOP_PID_DIR}

# A string representing this instance of hadoop. $USER by default.
export HADOOP_IDENT_STRING=$USER

export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export PATH=${JAVA_HOME}/bin:${PATH}
export HADOOP_CLASSPATH=${JAVA_HOME}/lib/tools.jar:${HADOOP_CLASSPATH}

我有一個類似的問題,但有不同的問題。

我需要從hadoop-env.sh 中刪除 HADOOP_* 定義。

在我的配置中,我在 .bashrc 中沒有它們,但我將它們放入 /etc/profile.d/ 中的文件中

我在這里找到了解決方案: http : //sedeks.blogspot.com/2013/02/apache-hive-error-resolution.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM