配置单元安装问题:NoClassDefFoundError



我正试图在本地机器上以伪分布式模式运行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包含lib节俭-0.9.0.jar,它具有上面错误中显示的类。

有什么建议我在这里缺少什么吗?

这些设置正确吗?确保你也设置了这些变量:

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

为了避免这些问题,请使用Hadoop和Hive的最新稳定版本。

您应该输入$HADOOP_HOME/conf,修改"HADOOP-env.sh"文件。像这样修改行"export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/HOME/itcast/HADOOP-1.12/myclass"。

最新更新