복붙노트

[HADOOP] 하둡 :«오류 : JAVA_HOME이 설정되지 않았습니다»

HADOOP

하둡 :«오류 : JAVA_HOME이 설정되지 않았습니다»

우분투 11.10에 Hadoop을 설치하려고합니다. conf / hadoop-env.sh 파일에 JAVA_HOME 변수를 설정했습니다.

# export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk

그런 다음이 명령을 실행합니다 (독립 실행 형 작업).

$ mkdir input 
$ cp conf/*.xml input 
$ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+' 
$ cat output/*

하지만 세 번째 명령을 실행할 때 다음 오류가 있습니다.

JAVA_HOME 변수가 올바르게 설정되지 않았습니까?

해결법

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

    1.주석 태그를 제거하고 hadoop-env.sh의 JAVA_HOME과 적절한 .bashrc 및 / 또는 .profile을 변경했는지 확인하십시오.

    주석 태그를 제거하고 hadoop-env.sh의 JAVA_HOME과 적절한 .bashrc 및 / 또는 .profile을 변경했는지 확인하십시오.

    # export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk
    

    해야한다

    export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk
    

    / etc / profile에서 모든 사용자에 대해 JAVA_HOME 및 PATH를 설정할 수 있습니다 (이전에이 경로를 잘못된 경로로 설정하지 않았는지 확인하십시오).

    또한 로그 아웃 / 인 또는 source / etc / profile을 실행하여 새 변경 사항을 활성화하는 것을 잊지 마십시오.

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

    2.Hadoop 설정 디렉토리에있는 hadoop-env.sh 파일에서 JAVA_HOME을 설정해야합니다. 기본적으로 JAVA_HOME 설정 행은 주석 처리됩니다.

    Hadoop 설정 디렉토리에있는 hadoop-env.sh 파일에서 JAVA_HOME을 설정해야합니다. 기본적으로 JAVA_HOME 설정 행은 주석 처리됩니다.

  3. ==============================

    3.JAVA_HOME이 설정되어 있는지 확인하려면 터미널에 echo $ JAVA_HOME을 입력하십시오.

    JAVA_HOME이 설정되어 있는지 확인하려면 터미널에 echo $ JAVA_HOME을 입력하십시오.

    java -version을 입력하여 실제로 사용중인 java의 버전을 알 수 있습니다.

    그건 그렇고, 귀하의 설명을 읽고 그것은 실제로 쓰는 것

    export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk
    

    conf / hadoop-env.sh 파일에서 터미널이나 ~ / .bashrc 또는 ~ / .profile에 작성해야하며 source <수정 된 파일 경로>를 입력해야합니다.

  4. ==============================

    4..bashrc 파일을 추가 할 수 있습니다 :

    .bashrc 파일을 추가 할 수 있습니다 :

    export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
    

    패키지를 업데이트하면 동적으로 변경됩니다.

  5. ==============================

    5.이 JAVA_HOME = / usr / lib / jvm / java-1.6.0-openjdk를 hadoop-env.sh 파일로 복사하십시오.

    이 JAVA_HOME = / usr / lib / jvm / java-1.6.0-openjdk를 hadoop-env.sh 파일로 복사하십시오.

    JAVA_HOME은 java 바이너리가있는 위치입니다.

  6. ==============================

    6.나를 위해 일한 해결책은 JAVA_HOME을 / etc / 환경에 설정하는 것이 었습니다.

    나를 위해 일한 해결책은 JAVA_HOME을 / etc / 환경에 설정하는 것이 었습니다.

    / etc / profile 파일에서 JAVA_HOME을 설정할 수 있지만 JAVA_HOME 또는 시스템 변수의 기본 위치는 / etc / environment입니다.

    / etc / environment를 nano 나 vim 같은 텍스트 편집기에서 열고 다음 줄을 추가하십시오 :

    JAVA_HOME="/usr/lib/jvm/your_java_directory"
    

    변수로드 :

    source /etc/environment
    

    변수가 올바르게로드되었는지 확인하십시오.

    echo $JAVA_HOME
    
  7. ==============================

    7.위의 솔루션을 시도했지만 다음 사항이 저에게 효과적이었습니다.

    위의 솔루션을 시도했지만 다음 사항이 저에게 효과적이었습니다.

    export JAVA_HOME=/usr/java/default
    
  8. ==============================

    8.나는 이것을 수정하지 않고 나의 env에서 해결했다. hadoop-env.sh

    나는 이것을 수정하지 않고 나의 env에서 해결했다. hadoop-env.sh

    / bin / bash를 기본 쉘로 사용하지 않는 것이 좋을 것입니다. / bin / sh가 아닙니다.

    전에 확인하십시오 :

    모든 노드에서 $ SHELL을 echo하고, print / bin / bash가 있는지 확인하십시오. 그렇지 않으면 vi / etc / passwd, 사용자 이름의 끝에 / bin / bash를 추가하십시오. 심판

  9. ==============================

    9.위의 오류는 두 단어 사이에 공백이 있기 때문에 발생합니다.

    위의 오류는 두 단어 사이에 공백이 있기 때문에 발생합니다.

    예 : Java가 C : \ Program Files \ Java -> Space에 위치하여 프로그램과 파일 사이에 위와 같은 문제가 발생할 수 있습니다. 공간을 제거하면 오류가 표시되지 않습니다.

  10. from https://stackoverflow.com/questions/8827102/hadoop-error-java-home-is-not-set by cc-by-sa and MIT license