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

编程入门 行业动态 更新时间:2024-10-28 08:18:49
本文介绍了线程“主”中的异常java.lang.NoClassDefFoundError:org / apache / hadoop / util / PlatformName的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

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

原因:java.lang.ClassNotFoundException:org.apache.hadoop.util.PlatformName在java.URLClassLoader上 $ 1.run(URLClassLoader.java:202)$ java.util.AccessController.doPrivileged中的b $ b(本地方法)$ java.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)无法找到主类:org.apache.hadoop.util.PlatformName。程序将会退出。 线程main中的异常java.lang.NoClassDefFoundError:org / apache / hadoop / fs / FsShell 导致:java.lang.ClassNotFoundException:org.apache.hadoop.fs.FsShell 在java.URLClassLoader $ 1.run(URLClassLoader.java:202)在java.security.AccessController.doPrivileged(本地方法)$ b $在java.URLClassLoader.findClass(URLClassLoader.java: 190)在java.lang.ClassLoader.loadClass(ClassLoader.java:306)在sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:301)$ b $在java.lang .ClassLoader.loadClass(ClassLoader.java:247)无法找到主类:org.apache.hadoop.fs.FsShell。程序将会退出。 线程main中的异常java.lang.NoClassDefFoundError:org / apache / hadoop / util / PlatformName 导致:java.lang.ClassNotFoundException:org.apache.hadoop.util.PlatformName 在java.URLClassLoader $ 1.run(URLClassLoader.java:202)在java.security.AccessController.doPrivileged(本地方法)$ b $在java.URLClassLoader.findClass(URLClassLoader.java: 190)在java.lang.ClassLoader.loadClass(ClassLoader.java:306)在sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:301)$ b $在java.lang .ClassLoader.loadClass(ClassLoader.java:247)无法找到主类:org.apache.hadoop.util.PlatformName。程序将会退出。 线程main中的异常java.lang.NoClassDefFoundError:org / apache / hadoop / fs / FsShell 导致:java.lang.ClassNotFoundException:org.apache.hadoop.fs.FsShell 在java.URLClassLoader $ 1.run(URLClassLoader.java:202)在java.security.AccessController.doPrivileged(本地方法)$ b $在java.URLClassLoader.findClass(URLClassLoader.java: 190)在java.lang.ClassLoader.loadClass(ClassLoader.java:306)在sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:301)$ b $在java.lang .ClassLoader.loadClass(ClassLoader.java:247)无法找到主类:org.apache.hadoop.fs.FsShell。程序将会退出。 错误无法在hdfs文件系统上创建输入目录/ distmap_output_input文件夹

/ p>

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

echo $ CLASSPATH给出一个空行

cat〜/ .bash_profile says

cat〜/ .bash_profile #.bash_profile #获取别名和函数 if [ f〜/ .bashrc];然后。 〜/ .bashrc fi #用户特定环境和启动程序 PATH = $ PATH:$ HOME / bin 导出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.0-MR1-cdh4.4.0.jar:/usr/lib/hadoop-0.20-mapreduce/hadoop-examples.jar:在/ usr / LIB /小时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的测试2.0.0-MR1-cdh4.4 .0.jar:/usr/lib/hadoop-0.20-mapreduce/hadoop-test.jar:/usr/lib/hadoop-0.20- MapReduce的/ Hadoop的工具-2.0.0-MR1-cdh4.4.0.jar:/ usr / lib中/ HADO运算0.20-的MapReduce / Hadoop的tools.jar中:/usr/lib/hadoop-0.20-mapreduce/lib/ *罐子:/usr/lib/hadoop/hadoop-common.jar:/ usr / lib中/的Hadoop / hadoo p-common-2.0.0-cdh4.4.0.jar

最后2个jar文件包含PlatformName和FsShell类。

谢谢

$ $对于 hadoop2.2.0 ,hadoop-auth-2.2.0.jar 应该存在于 hadoop2.2.0 为你的版本添加 hadoop认证jar

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. This is the error I am getting.

Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.util.PlatformName at java.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.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.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.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.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.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.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.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

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

echo $CLASSPATH gives a blank line

cat ~/.bash_profile says

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_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. 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 Add hadoop auth jar for your version

更多推荐

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

本文发布于:2023-05-31 10:01:57,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:线程   异常   lang   java   NoClassDefFoundError

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!