2

我正在使用本指南来设置 Hadoop:

http://blog.sqltrainer.com/2012/01/installing-and-configuring-apache.html

但是,当我到达应该输入的部分时,bin/hadoop version会出现以下错误:

cygpath: can't convert empty path
java.lang.NoClassDefFoundError: org/apache/hadoop/util/PlatformName
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.util.PlatformName
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: org.apache.hadoop.util.PlatformName.  Program will exit.
Exception in thread "main" cygpath: can't convert empty path
cygpath: can't convert empty path
Hadoop 0.22.0

我最近使用的是 1.0.3 版本,并且运行良好,但由于一个错误,我不得不降级到 0.22.0 版本。不幸的是,我无法让这个版本工作。

更多信息:

JAVA_HOME=/cygdrive/c/Progra~1/Java/jre6
4

2 回答 2

2

我在 windows/cygwin 上安装时遇到了这个错误,在您选择的编辑器中打开 $HADOOP_INSTALL/bin/hadoop-config.sh。找到以“# cygwin path translation”开头的部分并添加以下行:

    CLASSPATH=`cygpath -wp "$CLASSPATH"`

保存并退出。

该修复对我有用。有关更多信息,请查看此博客

http://juliensimon.blogspot.in/2011/01/installing-hadoop-on-windows-cygwin.html

于 2012-10-25T02:58:43.077 回答
1

形成您的 pastebin,看起来您的 LD_LIBRARY_PATH 变量有问题:

++ JAVA_LIBRARY_PATH=
++ '[' -d 'C:\cygwin\usr\local\hadoop\/build/native' -o -d 'C:\cygwin\usr\local\                      hadoop\/lib/native' ']'
cygwin warning:
 MS-DOS style path detected: C:\cygwin\usr\local\hadoop\/build/native
 Preferred POSIX equivalent is: /usr/local/hadoop/build/native
 CYGWIN environment variable option "nodosfilewarning" turns off this warning.
 Consult the user's guide for more details about POSIX paths:
   http://cygwin.com/cygwin-ug-net/using.html#using-pathnames

这条路径是否应该由 cygwin 路径 ( /cygdrive/c/cygwin/usr/local/hadoop/build/native),并确保斜线是正确的方式。

LD_LIBRARY对字符串或bin 和 conf 文件夹执行 grepnative以查看您可能在哪里设置错误

于 2012-06-19T10:21:56.493 回答