2012-02-14 3 views
3

저는 EC2에서 hbase로 놀아 왔고 시작했을 때 문제가 있습니다. 여기에 내가 무엇을 얻을 :hbase를 시작할 때 JAVA_HOME을 찾을 수 없습니다. 어떤 제안?

[[email protected] ~]# sudo /etc/init.d/hadoop-hbase-master start 
+======================================================================+ 
|  Error: JAVA_HOME is not set and Java could not be found   | 
+----------------------------------------------------------------------+ 
| Please download the latest Sun JDK from the Sun Java web site  | 
|  > http://java.sun.com/javase/downloads/ <      | 
|                  | 
| HBase requires Java 1.6 or later.         | 
| NOTE: This script will find Sun Java whether you install using the | 
|  binary or the RPM based installer.        | 
+======================================================================+ 

내가 오류를 고개를 1.6 오픈 JDK를 설치하고 내 .bash_profile에있는 JAVA_HOME 변수를 설정 및/etc/프로필 (단지 다른 사용자로 실행되는 경우 HBase를에서).

[[email protected] ~]# java -version 
java version "1.6.0_22" 
OpenJDK Runtime Environment (IcedTea6 1.10.4) (rhel-1.42.1.10.4.el6_2-x86_64) 
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode) 
[[email protected] ~]# echo $JAVA_HOME 
/usr/bin/java 

하지만 hbase을 시작할 때 여전히 오류가 발생합니다. 나는 내가 자바에 대해 잘 모르겠다. 그래서 내가 뭘 잘못하고 있는지 모르겠다. 도움이된다면 ec2에 centos6을, hbase/hadoop 패키지에 cloudera의 저장소를 사용하고 있습니다.

답변

7

JAVA_HOMEjava 실행 파일 '을 가리 키지 말고 나머지 Java 파일을 찾을 수있는 위치로 지정하십시오.

나는 그것이 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/이라고 생각합니다. I update-alternatives --display java을 사용하여 설치된 모든 javas를 표시 할 수 있다고 생각하십시오.

+0

여전히 운이 없다, 나는 JAVA_HOME을 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin으로 바꿨다. update-alternatives --display java에있는 위치에 따라 다르지만 여전히 운이 없다. 해당 경로에서 실행하면 명령 줄에서 직접 실행하면 작동합니다. – Lostsoul

+2

bin이 아니라 bin 위의 폴더! export JAVA_HOME =/usr/lib/jvm/jre-1.6.0-openjdk.x86_64 –

+0

그랬어! Peter 대단히 감사합니다. 그래서 제 지식에 따라, 패키지는 최상위 폴더를 알고 싶기 때문에 bin/lib를 찾을 수 있습니다. 실행 파일뿐만 아니라 그 아래에서 작업 할 수 있습니까? 또는이 유일한 자바인가? – Lostsoul

2

스크립트 /etc/init.d/hadoop-hbase-master를 확인하고 자바가 어디에서 디버그 모드로 실행되는지 확인하십시오.

쉬 -x /etc/init.d/hadoop-hbase-master 시작

+0

도움이 되셨습니다. 올바른 방향으로 나를 알려 주셔서 감사합니다. "/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/bin/java : 그런 파일이나 디렉토리가 없습니다." 경로의 여분의 빈. 그러나 그것을 어디에서 얻는가? 내 .bash_profile은 문제가 없습니다. – Lostsoul

0

당신이 원하는 경우 하드 당신의 /etc/init.d/hadoop-hbase-master 스크립트에서 자바 경로를 코딩 할 수 있습니다 빠른 확인.

0

아마도 $ JAVA_HOME이 (가) JRE 홈을 가리키고 있습니다. bin에 javac가 있는지 확인하십시오.

1

JAVA_HOME을 bashrc에 이미 설정했지만 작동하지 않는 경우/etc/environment 파일에서 설정하십시오.

관련 문제