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

選択したエディターで $HADOOP_INSTALL/bin/hadoop-config.sh を開いて windows/cygwin にインストールするときに、このエラーに直面しました。「# 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

ペーストビンを作成すると、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フォルダーでgrepを実行して、nativeこの設定が間違っている可能性のある場所を確認します

于 2012-06-19T10:21:56.493 に答える