2

ローカル マシンで Hadoop と Hive を疑似分散モードで実行しようとしています。すでに Hadoop を実行していますが、Hive を実行しようとすると、次のエラーが表示されます。

`Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/thrift/TException
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:266)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:149)
Caused by: java.lang.ClassNotFoundException: org.apache.thrift.TException
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    ... 3 more   `

問題をデバッグしようとしましたが、不足しているものを見つけることができませんでした。私の HADOOP_HOME、HADOOP_CLASSPATH は適切に設定されています。また、HADOOP_CLASSPATH には、上記のエラーに示されているクラスを持つ libthrift-0.9.0.jar が含まれています。

ここで何が欠けているのでしょうか?

4

2 に答える 2

0

$HADOOP_HOME/conf を入力し、「hadoop-env.sh」ファイルを変更します。行「export HADOOP_CLASSPATH= $HADOOP_CLASSPATH :/home/itcast/hadoop-1.1.2/myclass」を次のように変更します。

于 2015-09-10T16:55:44.290 に答える
0

これらを正しく設定していますか?また、これらの変数も設定したことを確認してください。

export HIVE_HOME=/path/to/your/hive/folder
export PATH=$HIVE_HOME/bin:$PATH

このような問題を回避するには、Hadoop と Hive の両方の最新の安定版リリースを使用してください。

于 2013-06-23T23:46:46.320 に答える