首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > Apache >

解决Window环境上启动Hadoop时出现的 java.lang.NoClassDefFoundError: org/apache/hadoop/util/P

2012-12-25 
解决Window环境下启动Hadoop时出现的 java.lang.NoClassDefFoundError: org/apache/hadoop/util/P在Window

解决Window环境下启动Hadoop时出现的 java.lang.NoClassDefFoundError: org/apache/hadoop/util/P

在Window下启动Hadoop-0.21.0版本时,会出现下面这样的错误提示:

?1?java.lang.NoClassDefFoundError:?org/apache/hadoop/util/PlatformName
?2?Caused?by:?java.lang.ClassNotFoundException:?org.apache.hadoop.util.PlatformName
?3?
?4?????????at?java.net.URLClassLoader$1.run(URLClassLoader.java:202)
?5?????????at?java.security.AccessController.doPrivileged(Native?Method)
?6?????????at?java.net.URLClassLoader.findClass(URLClassLoader.java:190)
?7?????????at?java.lang.ClassLoader.loadClass(ClassLoader.java:307)
?8?????????at?sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
?9?????????at?java.lang.ClassLoader.loadClass(ClassLoader.java:248)
10?Could?not?find?the?main?class:?org.apache.hadoop.util.PlatformName.??Program?wil
11?l?exit.


经过不断的查找原因和尝试,终于有了解决这个错误的办法,只需要将${HADOOP_HOME}/bin/hadoop-config.sh文件中的第190行的一下的内容

JAVA_PLATFORM=`CLASSPATH=${CLASSPATH}?${JAVA}?-Xmx32m?${HADOOP_JAVA_PLATFORM_OPTS}?org.apache.hadoop.util.PlatformName?|?sed?-e?"s/?/_/g"`



修改成以下的内容即可

JAVA_PLATFORM=`CLASSPATH=${CLASSPATH}?${JAVA}?-Xmx32m?-classpath?${HADOOP_COMMON_HOME}/hadoop-common-0.21.0.jar?org.apache.hadoop.util.PlatformName?|?sed?-e?"s/?/_/g"`

热点排行