Hadoop.conf.configuration错误java.lang.NoClassDefFoundError

时间:2014-10-27 11:07:32

标签: java hadoop

我试图通过jar执行java -jar abc.jar文件来执行Java类,但每当我执行它时,我都会收到错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration

hadoop-env.sh目录中的/etc/hadoop/conf个文件包含HADOOP_CLASSPATH

export HADOOP_CLASSPATH="/home/cloudera/commons-logging-1.1.3.jar:/home/cloudera/hadoop-common-2.4.1.jar:hadoop-core-1.2.1.jar:$HADOOP_CLASSPATH"

在Java代码中我有一些导入,如:

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.FileSystem;

我认为它无法在运行时获得这些的定义。 导致这些错误的原因是什么?如何解决此问题?

注意:我是hadoop的新手,因此我不知道为什么以及如何设置所需的不同环境变量。任何例子对我都有帮助。

更新:执行java -cp $HADOOP_CLASSPATH:abc.jar:/home/extra_jars/* mypackage.classname后,我收到错误java.io.IOException: Mkdirs failed to create /user/example

在我的代码中,我正在执行fs.copyFromLocalFile(false,true,sourcePath,targetPath);targetPath/user/example/ex1.csv。我无法理解为什么即使我的/user/example具有完全的红色写权限,也会出现此错误。

0 个答案:

没有答案