1

hadoop0.20.2 を使用しており、その上に Hive 0.10.0 をインストールしようとしています。次のエラーが表示されます

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:247)
    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:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    ... 3 more

以前に回答された同様の質問から解決策が見つかりませんでした。これを新しいものとして投稿しています。クラスパスの詳細を見つけてください:

HADOOP_HOME - /project/hadoop-0.20.2    
HIVE_HOME - /project/hive-0.10.0    
HADOOP_CLASSPATH - /project/hadoop-0.20.2/lib:/project/hive-0.10.0/lib/*.jar

これに多くの時間を費やしました。どんな助けでも大歓迎です。事前に感謝します

4

1 に答える 1

0

Hive 0.10.0 は Hadoop 0.20.x で動作しますが、そのような古いリリースは使用しないでください。

export ステートメントで本当にハイフン (-) を使用していますか? それともここだけですか?理想的には、Hive を実行するには、これら 3 つのエクスポートで十分なはずです。

export HADOOP_HOME=/project/hadoop-0.20.2
export HIVE_HOME=/project/hive-0.10.0
export PATH=$HIVE_HOME/bin:$PATH

これらの変数をどのようにエクスポートしていますか? これらのステートメントを追加すると~/.bashrcうまくいきます。そして、これらの変更後にソースを忘れないでください。

source ~/.bashrc
于 2013-07-09T11:22:10.613 に答える