线程“main”中的exceptionjava.lang.NoClassDefFoundError:org / apache / hadoop / util / PlatformName

我知道这个例外有很多post,但我无法解决这个问题。 类path必须被编辑,我认为要解决它。 我试图在hadoop基础结构中运行一个名为DistMap的程序。 这是我得到的错误。

Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.util.PlatformName 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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) Could not find the main class: org.apache.hadoop.util.PlatformName. Program will exit. Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FsShell Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.fs.FsShell 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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) Could not find the main class: org.apache.hadoop.fs.FsShell. Program will exit. Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/util/PlatformName Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.util.PlatformName 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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) Could not find the main class: org.apache.hadoop.util.PlatformName. Program will exit. Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FsShell Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.fs.FsShell 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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) Could not find the main class: org.apache.hadoop.fs.FsShell. Program will exit. Error could not create input directory /distmap_output_input folder on hdfs file system 

其中的java说

 /usr/java/jdk1.6.0_32/bin/java 

echo $ CLASSPATH给出一个空行

猫〜/ .bash_profile说

 cat ~/.bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH 

更新:

$ HADOOP_HOME /usr/lib/hadoop

$ HADOOP_CLASSPATH

/usr/lib/hadoop-0.20-mapreduce/hadoop-ant-2.0.0-mr1-cdh4.4.0.jar:/usr/lib/hadoop‌​-0.20-mapreduce/hadoop-ant.jar:/usr/lib/hadoop-0.20-mapreduce/hadoop-examples-2.0‌​.0-mr1-cdh4.4.0.jar:/usr/lib/hadoop-0.20-mapreduce/hadoop-examples.jar:/usr/lib/h‌​adoop-0.20-mapreduce/hadoop-core.jar:/usr/lib/hadoop-0.20-mapreduce/hadoop-core-2‌​.0.0-mr1-cdh4.4.0.jar:/usr/lib/hadoop-0.20-mapreduce/hadoop-test-2.0.0-mr1-cdh4.4‌​.0.jar:/usr/lib/hadoop-0.20-mapreduce/hadoop-test.jar:/usr/lib/hadoop-0.20-mapreduce/hadoop-tools-2.0.0-mr1-cdh4.4.0.jar:/usr/lib/hado‌​op-0.20-mapreduce/hadoop-tools.jar:/usr/lib/hadoop-0.20-mapreduce/lib/*jar:/usr/lib/hadoop/hadoop-common.jar:/usr/lib/hadoop/hadoop-common-2.0.0-cdh4.4.0.jar

最后2个jar文件具有PlatformName和FsShell类。 仍然不工作。

任何人都可以请帮我解决这个问题?

谢谢

Solutions Collecting From Web of "线程“main”中的exceptionjava.lang.NoClassDefFoundError:org / apache / hadoop / util / PlatformName"

hadoop-auth-2.2.0.jar应该在hadoop2.2.0
为您的版本添加hadoop认证jar

如果你是一个maven用户,并面临这个问题 –

  <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>${hadoop.client.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>${hadoop.client.version}</version> </dependency> 

注意: :hadoop-client:2.5.2本身并没有引入所有需要的hadoop依赖。 这就是为什么我加了hadoop-common ,这带来了所有需要的代价。

Hadoop HADOOP_CLASSPATH问题

这将是有益的。

感谢和问候,
Alok Thaker