복붙노트

[HADOOP] 하둡 설정에서 NoClassDefFoundError

HADOOP

하둡 설정에서 NoClassDefFoundError

이 안내서를 사용하여 Hadoop을 설정하고 있습니다.

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

그러나 bin / hadoop 버전을 입력 해야하는 부분에 도달하면 다음 오류가 발생합니다.

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

해결법

  1. ==============================

    1.Windows / Cygwin에 설치할 때이 오류가 발생했습니다. 선택한 편집기에서 $ HADOOP_INSTALL / bin / hadoop-config.sh를여십시오. "# cygwin path translation"로 시작하는 섹션을 찾고 다음 행을 추가하십시오.

    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

  2. ==============================

    2.pastebin을 작성하십시오. LD_LIBRARY_PATH 변수에 문제가있는 것 같습니다.

    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)로 경로를 지정하고 슬래시가 올바른 방법인지 확인하십시오.

    bin 및 conf 폴더에서 문자열 LD_LIBRARY 또는 native에 대해 grep을 수행하여 잠재적 으로이 설정이 잘못된 위치를 봅니다.

  3. from https://stackoverflow.com/questions/11076964/noclassdeffounderror-in-hadoop-setup by cc-by-sa and MIT license