我知道这个例外有很多帖子,但我无法解决这个问题。我认为需要编辑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/javaecho $ 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认证jarI 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 systemwhich java says
/usr/java/jdk1.6.0_32/bin/javaecho $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 PATHUpdate:
$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/hadoop-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/hadoop-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
发布评论