2012-11-11 7 views
1

/usr/local/hive/bin/hive를 시작하면 최신 안정 버전의 하이브를 다운로드했습니다. 오류 :하이브 시작 오류 : java.lang.NoClassDefFoundError : org/apache/hadoop/hive/conf/HiveConf

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hive/conf/HiveConf 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:264) 
at org.apache.hadoop.util.RunJar.main(RunJar.java:149) 
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf 
at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:423) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
... 3 more 

하둡 DFS가 시작되고 작업, 나는 HADOOP_HOME 수출 /usr/local/hive/conf/hive-env.sh 변경됩니다.

다른 사람이 누구인지 알고 있습니까? 감사합니다. .

+0

클래스 경로가 제대로 설정되지 않았기 때문입니다. 하이브를 어떻게 설치했는지 설명해 주시겠습니까? –

+0

http://apache.rediris.es/hive/stable/hive-0.8.1.tar.gz 에서 하이브를 다운로드 한 다음/usr/local로 이동하고 777 권한을 부여했습니다. "echo $ CLASSPATH"를 콘솔에 입력하면 다른 디렉토리들 중/usr/local/hive/bin/:/usr/local/hive/lib/:/usr/local/hadoop/bin /을 얻습니다. 하이브가 예상하는 변수 또는 경로는 무엇입니까? 감사합니다. – sergi123

답변

1

hive-env.sh를 편집하는 것 외에 bash_profile도 편집해야합니다.

vim ~/.bash_profile 

당신의 bash_profile

export HIVE_HOME=/usr/local/hive 
export PATH=$PATH:$HIVE_HOME/bin 

이 파일을 저장하고 다음 줄을 추가 한 후

source ~/.bash_profile 

이 아직도 나던 작업하는 경우, 당신의 hive-env.sh 파일 및 하이브를 포함하십시오 -site.xml 파일. 또한 당신이 metastore로서 더비 또는 mysql을 사용하고 있는지 말해주십시오.

+0

~/bashrc를 변경했지만 여전히 작동하지 않습니다. hive-env.sh export HADOOP_HOME =/usr/local/hadoop hive-site.xml : conf 디렉토리에 존재하지 않습니다. 또한 메타 스토어가 설치되어 있지 않아 아무 것도 말하지 않습니다. https://cwiki.apache.org/confluence/display/Hive/GettingStarted#GettingStarted-InstallingHivefromaStableRelease 감사합니다. $ $ HADOOP_HOME/빈/하둡 FS의 -mkdir/tmp를 $ $ HADOOP_HOME/빈/하둡 FS -mkdir/사용자/하이브/창고 $를 : 그것은 시작에 말한대로 – sergi123

+0

미안 해요, 난, 메타 스토어를 할 그것을 만들어 $ HADOOP_HOME/bin/hadoop fs -chmod g + w/tmp $ $ HADOOP_HOME/bin/hadoop fs -chmod g + 사용자/하이브 /웨어 하우스 – sergi123

+0

HADOOP_HOME 및 HIVE_HOME을 에코 할 수 있습니까? mysql 메타 스토어를 특별히 설정하지 않았기 때문에 이것은 derby를 사용하고 있다는 것을 의미합니다 (그렇지 않다면 문제는 mysql 연결자와 관련된 것일 수 있습니다). 한번 이것을 bash_profile에 추가하고 무슨 일이 일어 났는지 알려주시겠습니까? –

0

해결 이동 : 도움을

export HADOOP_CLASSPATH=/usr/local/hbase/hbase-0.94.1.jar:/usr/local/hbase/hbase-0.94.1-test.jar:/usr/local/hbase/conf:/usr/local/hbase/lib/zookeeper-3.4.3.jar:/usr/local/hive/lib/*.jar:/usr/local/hbase 

/usr/local/hadoop/conf/hadoop-env.sh 에서 ~/.bashrc에

감사합니다.

관련 문제