您的位置:首页 > 运维架构 > Apache

java.lang.ClassNotFoundException: org.apache.hadoop.util.PlatformName

2012-11-29 16:25 886 查看
转自:

http://hi.baidu.com/ivexrhlaozbdqtq/item/937da60872bf3ee2f55ba63c

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

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: 307 )

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java: 301 )

at java.lang.ClassLoader.loadClass(ClassLoader.java: 248 )

Could not find the main class : org.apache.hadoop.util.PlatformName. Program will 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"`
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐