2011-07-28 2 views
6

어떤 명령을 실행할 때 하이브에서 다음 오류가 발생합니다.설치시 하이브가 작동하지 않습니다.

hive> show tables; 
FAILED: Error in metadata: javax.jdo.JDOFatalInternalException: Unexpected exception caught. 
NestedThrowables: 
java.lang.reflect.InvocationTargetException 
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask 

이것은 hive.log에 있습니다.

2011-07-27 19:10:57,526 ERROR exec.DDLTask (SessionState.java:printError(343)) - FAILED: Error in metadata: javax.jdo.JDOFatalInternalException: Unexpected exception caught. 
NestedThrowables: 
java.lang.reflect.InvocationTargetException 
org.apache.hadoop.hive.ql.metadata.HiveException: javax.jdo.JDOFatalInternalException: Unexpected exception caught. 
NestedThrowables: 
java.lang.reflect.InvocationTargetException 
     at org.apache.hadoop.hive.ql.metadata.Hive.getDatabase(Hive.java:1028) 
     at org.apache.hadoop.hive.ql.metadata.Hive.databaseExists(Hive.java:1013) 
     at org.apache.hadoop.hive.ql.exec.DDLTask.showTables(DDLTask.java:1691) 
     at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:289) 
     at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:130) 
     at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:57) 
     at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1063) 
     at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:900) 
     at org.apache.hadoop.hive.ql.Driver.run(Driver.java:748) 
     at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:164) 
     at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:241) 
     at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:456) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.apache.hadoop.util.RunJar.main(RunJar.java:156) 
Caused by: javax.jdo.JDOFatalInternalException: Unexpected exception caught. 
NestedThrowables: 
java.lang.reflect.InvocationTargetException 
     at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1186) 
     at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:803) 
     at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:698) 
     at org.apache.hadoop.hive.metastore.ObjectStore.getPMF(ObjectStore.java:234) 
     at org.apache.hadoop.hive.metastore.ObjectStore.getPersistenceManager(ObjectStore.java:261) 
     at org.apache.hadoop.hive.metastore.ObjectStore.initialize(ObjectStore.java:196) 
     at org.apache.hadoop.hive.metastore.ObjectStore.setConf(ObjectStore.java:171) 
     at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:62) 
     at org.datanucleus.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:255) 
     at org.datanucleus.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:182) 
     ... 41 more 

명확하게 metadatabase에 문제가 있지만 오류가 매우 둔각이며, 설치 가이드가 metadatabase 구성에 대한 아무 말도하지 않습니다.

+0

사용중인 Hive 및 Hadoop의 버전을 포함해야합니다. – wlk

+0

hadoop-0.20.203.0 및 hive-0.7.1 – schmmd

+0

하이브의 이전 버전에서 업그레이드 하시겠습니까? – wlk

답변

4

: 압축을 풀고, https://www.mysql.com/downloads/connector/j/ 위치로 내부에서 항아리를 복사
솔루션은이 파일을 다운로드하는 것입니다 :

http://getsatisfaction.com/cloudera/topics/hive_error_error_in_metadata_javax_jdo_jdofatalinternalexception

가 : $ HADOOP_HOME/문제가 멀리 갔다 구축 삭제 한 후, 이상하게도

"Shirish 레디. $ HADOOP_HOME/빌드와 잘되어야 모든 것을 삭제 청에서 복사 회신".

+0

삭제를 의미합니까? 실제 폴더를 삭제 하시겠습니까? – G3M

7

동일한 문제가있었습니다. (귀하의 경우 다를 수 있습니다 -이 하이브 libs와있는 곳입니다) /usr/lib/hive/lib 내가 여기에 대한 답을 찾을

+0

Derby 데이터베이스를 기본으로 사용하지 않아야합니까? – schmmd

+1

Hive 메타 스토어의 경우 MySQL 또는 JDBC 지원 데이터베이스를 사용할 수 있습니다. MySQL에서이 문제를 겪고 있었기 때문에 귀하의 사례라고 생각했습니다. – wlk

+0

백엔드에 대해 아무 것도 구성하지 않았습니다.이 오류가 발생합니다. 나는 그것이 더비 데이터베이스 인 디폴트를 사용하기를 기대한다. – schmmd

관련 문제