[HADOOP] JAVA_HOME이 설정되어 있지 않습니다.
HADOOPJAVA_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.bin / start-all.sh가 JAVA_HOME을 대체하지 않는지 확인하십시오.
bin / start-all.sh가 JAVA_HOME을 대체하지 않는지 확인하십시오.
어쩌면 echo $ JAVA_HOME을이 스크립트의 실행 전에 똑같은 스크립트 안에 넣으시겠습니까?
-
==============================
2../conf/hadoop-env.sh에 다음 줄을 추가하기 만하면됩니다.
./conf/hadoop-env.sh에 다음 줄을 추가하기 만하면됩니다.
# The java implementation to use. Required. export JAVA_HOME=/usr/java/latest
도움이되었다.
-
==============================
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.5. 자바 버전
5. 자바 버전
----------- 이걸 보셔야합니다 -------------------------------- 자바 버전 "1.6.0_32" Java (TM) SE 런타임 환경 (빌드 1.6.0_32-b05)
-
==============================
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.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.문제는 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..bashrc 파일을 추가 할 수 있습니다 :
.bashrc 파일을 추가 할 수 있습니다 :
패키지를 업데이트하고 Hadoop에서 사용할 때 동적으로 변경됩니다.
-
==============================
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
from https://stackoverflow.com/questions/9192823/java-home-not-setting by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop namenode는 모든 컴퓨터가 시작된 후에 포맷되어야합니다. (0) | 2019.06.20 |
---|---|
[HADOOP] HDFS에서 CSV를 읽는 HIVE에 테이블을 만들 수 없습니다. (0) | 2019.06.20 |
[HADOOP] 하이브 QL - 각 항목 당 행 수 제한 (0) | 2019.06.20 |
[HADOOP] MapReduce의 교차 제품 (0) | 2019.06.20 |
[HADOOP] 자바 하둡 매퍼가 여러 값을 보내는 방법 (0) | 2019.06.20 |