복붙노트

[HADOOP] JAVA_HOME이 설정되어 있지 않습니다.

HADOOP

JAVA_HOME이 설정되어 있지 않습니다.

Hadoop 구현을 Pseudo-Distributed Operation에서 작업하는 동안 JAVA_HOME 변수가 설정이 아니라는 것을 제외하고 다음과 같은 사실을 발견했습니다. 그러나이를 반향하려고했을 때 설정되었습니다.

변수는 conf / hadoop-env.sh (편집 된 내보내기 JAVA_HOME = / usr / lib / jvm / java-6-sun), bash.bashrc에 사전 설정됩니다.

vardan@vardan-HP-G62-Notebook-PC:~/hadoop-0.20.203.0$ echo $JAVA_HOME
/usr/lib/jvm/java-6-sun
vardan@vardan-HP-G62-Notebook-PC:~/hadoop-0.20.203.0$ bin/start-all.sh
starting namenode, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-namenode-vardan-HP-G62-Notebook-PC.out
localhost: starting datanode, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-datanode-vardan-HP-G62-Notebook-PC.out
localhost: Error: JAVA_HOME is not set. 
localhost: starting secondarynamenode, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-secondarynamenode-vardan-HP-G62-Notebook-PC.out
localhost: Error: JAVA_HOME is not set. 
starting jobtracker, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-jobtracker-vardan-HP-G62-Notebook-PC.out 
localhost: starting tasktracker, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-tasktracker-vardan-HP-G62-Notebook-PC.out
localhost: Error: JAVA_HOME is not set.

해결법

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

    1.bin / start-all.sh가 JAVA_HOME을 대체하지 않는지 확인하십시오.

    bin / start-all.sh가 JAVA_HOME을 대체하지 않는지 확인하십시오.

    어쩌면 echo $ JAVA_HOME을이 스크립트의 실행 전에 똑같은 스크립트 안에 넣으시겠습니까?

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

    2../conf/hadoop-env.sh에 다음 줄을 추가하기 만하면됩니다.

    ./conf/hadoop-env.sh에 다음 줄을 추가하기 만하면됩니다.

    # The java implementation to use.  Required.
    export JAVA_HOME=/usr/java/latest
    

    도움이되었다.

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

    3.set JAVA_HOME =로 설정 한 JAVA_HOME 변수는 현재 쉘에만 관련됩니다. bin / start-all.sh를 실행할 때 새 셸을 시작한다고 가정하면 전역 변수에서 환경 변수를 사용할 수 있도록 환경 변수를 "내 보내야"합니다.

    set JAVA_HOME =로 설정 한 JAVA_HOME 변수는 현재 쉘에만 관련됩니다. bin / start-all.sh를 실행할 때 새 셸을 시작한다고 가정하면 전역 변수에서 환경 변수를 사용할 수 있도록 환경 변수를 "내 보내야"합니다.

    export JAVA_HOME=/usr/lib/jvm/java-6-sun
    
  4. ==============================

    4.5.   자바 버전

    5.   자바 버전

    ----------- 이걸 보셔야합니다 -------------------------------- 자바 버전 "1.6.0_32" Java (TM) SE 런타임 환경 (빌드 1.6.0_32-b05)

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

    5..bash_profile 파일 "JAVA_HOME = / usr / lib / jvm / java-6-sun"을 작성하려고 할 수 있습니다. 콘솔에서 물리적으로 로그인하거나 ssh를 사용하여 로그인하면 .bash_profile이 실행됩니다. bashrc는 / bin / bash 또는 다른 터미널을 실행할 때 열려 있습니다.

    .bash_profile 파일 "JAVA_HOME = / usr / lib / jvm / java-6-sun"을 작성하려고 할 수 있습니다. 콘솔에서 물리적으로 로그인하거나 ssh를 사용하여 로그인하면 .bash_profile이 실행됩니다. bashrc는 / bin / bash 또는 다른 터미널을 실행할 때 열려 있습니다.

    당신은 또한 start-all.sh 안에 그것을 쓰려고 시도 할 수있다.

    JAVA_HOME의 경로가 올바른지 확인하십시오.

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

    6.Ubuntu Precise + CDH4에서 같은 문제가 발생했습니다 ...

    Ubuntu Precise + CDH4에서 같은 문제가 발생했습니다 ...

    CDH4는 bigtop을 사용하며 JAVA_HOME을 설정하는 가장 간단한 방법은 다음과 같이 / etc / default / bigtop-utils 파일을 편집하는 것입니다.

    export JAVA_HOME = / usr / lib / jvm / jdk1.6.0_43 / jre /

    참고 : 적절한 CDH4 설치 후 hadoop-env.sh 파일을 찾을 수 없습니다.

  7. ==============================

    7.문제는 dfs 및 mapreduce 데몬을 초기화하는 스크립트에 환경에 JAVA_HOME이 정의되어 있지 않다는 것입니다. 가능하면 HDFS와 MapReduce를 실행할 때 실행 환경은 $ HADOOP_HOME / conf / hadoop-env.sh 스크립트에 지정된 환경입니다. 따라서 $ HADOOP_HOME / conf / hadoop-env.sh에 JAVA_HOME을 정의하면 충분합니다.

    문제는 dfs 및 mapreduce 데몬을 초기화하는 스크립트에 환경에 JAVA_HOME이 정의되어 있지 않다는 것입니다. 가능하면 HDFS와 MapReduce를 실행할 때 실행 환경은 $ HADOOP_HOME / conf / hadoop-env.sh 스크립트에 지정된 환경입니다. 따라서 $ HADOOP_HOME / conf / hadoop-env.sh에 JAVA_HOME을 정의하면 충분합니다.

    export JAVA_HOME=jdk-home-path
    

    그렇지 않으면, 이것이 충분하지 않을 때 사용되는 설정 환경 (hadoop-env.sh)이 우리가 기대하는 것이 아닌 것일 수 있습니다. hadoop은 아무것도 찾지 못하면 다른 값이나 기본값을 선택합니다. 가장 빠른 해결책은 hadoop-env.sh 스크립트가있는 conf 디렉토리를 정의하는 것입니다. HADOOP_CONF_DIR 환경 변수를 설정하면됩니다.

    export HADOOP_CONF_DIR=hadoop-home-path/conf
    
  8. ==============================

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

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

    패키지를 업데이트하고 Hadoop에서 사용할 때 동적으로 변경됩니다.

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

    9.다음과 같이 $ JAVA_HOME 구성을 점검해야 할 수도 있습니다. 1. hadoop-1.x에 대해 : hadoop-home-path / conf / hadoop-env.sh 2. hadoop-2.x : hadoop-home-path / etc / hadoop / hadoop-env.sh

    다음과 같이 $ JAVA_HOME 구성을 점검해야 할 수도 있습니다. 1. hadoop-1.x에 대해 : hadoop-home-path / conf / hadoop-env.sh 2. hadoop-2.x : hadoop-home-path / etc / hadoop / hadoop-env.sh

  10. from https://stackoverflow.com/questions/9192823/java-home-not-setting by cc-by-sa and MIT license