简体   繁体   English

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

[英]Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/hadoop/util/PlatformName

I know there have been many posts regarding this exception, but I am not able to fix this issue. 我知道有关此异常的帖子很多,但我无法解决这个问题。 Classpath has to be edited I think to resolve it. 必须编辑类路径我想解决它。 I am trying to run a program called DistMap in hadoop infrastructure. 我试图在hadoop基础设施中运行一个名为DistMap的程序。 This is the error I am getting. 这是我得到的错误。

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

which java says 哪个java说

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

echo $CLASSPATH gives a blank line echo $ CLASSPATH给出一个空行

cat ~/.bash_profile says 猫〜/ .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

Update: 更新:

$HADOOP_HOME /usr/lib/hadoop $ HADOOP_HOME /usr/lib/hadoop

$HADOOP_CLASSPATH $ 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

The last 2 jar files have those classes PlatformName and FsShell. 最后2个jar文件包含PlatformName和FsShell类。 Still its not working. 仍然没有用。

Can anyone please help me fix this issue? 有人可以帮我解决这个问题吗?

Thanks 谢谢

hadoop-auth-2.2.0.jar should be there for hadoop2.2.0 hadoop-auth-2.2.0.jar应该用于hadoop2.2.0
Add hadoop auth jar for your version 为您的版本添加hadoop auth jar

If you are a maven user and faced this issue - 如果您是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>

NOTE: :hadoop-client:2.5.2 alone didn't bring in all the required hadoop dependencies. 注意:: :hadoop-client:2.5.2单独的:hadoop-client:2.5.2没有引入所有必需的hadoop依赖项。 That is why I added hadoop-common , which brought all the required deps. 这就是为什么我添加了hadoop-common ,它带来了所有必需的deps。

Hadoop HADOOP_CLASSPATH issues Hadoop HADOOP_CLASSPATH问题

This would be helpful. 这会有所帮助。

Thanks & Regards, 感谢和问候,
Alok Thaker Alok Thaker

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Hadoop / Eclipse - 线程“main”中的异常java.lang.NoClassDefFoundError:org / apache / hadoop / fs / FileSystem - Hadoop/Eclipse - Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FileSystem 线程“main”中的异常java.lang.NoClassDefFoundError:org / apache / hadoop / hbase / HBaseConfiguration - Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration 线程“ main”中的异常java.lang.NoClassDefFoundError:org / apache / hadoop / mapreduce / RecordReader - Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/hadoop/mapreduce/RecordReader 线程“ main”中的异常java.lang.NoClassDefFoundError:org / apache / hadoop / fs / FSDataInputStrea - Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataInputStrea 线程“main”中的异常 java.lang.NoClassDefFoundError: org/apache/hadoop/tracing/SpanReceiverHost - Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/hadoop/tracing/SpanReceiverHost SSH 线程“主”中的异常 java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataInputStream - SSH Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataInputStream 线程“main”中的异常 java.lang.NoClassDefFoundError: org/jboss/util/Nested RuntimeException - Exception in thread “main” java.lang.NoClassDefFoundError: org/jboss/util/Nested RuntimeException 线程“主”java.lang.NoClassDefFoundError 中的异常:org/junit/platform/commons/util/ClassNamePatternFilterUtils - Exception in thread “main” java.lang.NoClassDefFoundError: org/junit/platform/commons/util/ClassNamePatternFilterUtils 线程“ main”中的异常java.lang.NoClassDefFoundError:org / apache / commons / lang / builder / CompareToBuilder - Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/commons/lang/builder/CompareToBuilder 线程“main”中的异常 java.lang.NoClassDefFoundError: org/apache/commons/lang3/ObjectUtils - Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang3/ObjectUtils
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM