2011-07-28 18 views
6

Otrzymuję następujący błąd w Hive podczas wykonywania dowolnego polecenia.Hive nie działa po instalacji

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 

To jest w 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 

Jest wyraźnie problem z metadatabase, ale błąd jest dość tępy i przewodnik instalacji nie mówią nic na temat konfigurowania metadatabase.

+0

Pamiętaj o dołączeniu wersji Hive i Hadoop, z których korzystasz: – wlk

+0

hadoop-0.20.203.0 i hive-0.7.1 – schmmd

+0

Czy aktualizujesz z poprzedniej wersji Hive? – wlk

Odpowiedz

7

Miałem ten sam problem.
rozwiązania jest ściągnąć ten plik https://www.mysql.com/downloads/connector/j/, rozpakuj go, skopiuj słoik od wewnątrz na miejscu: /usr/lib/hive/lib (może być inna w Twoim przypadku - jest to miejsce gdzie znajdują się ula libs)

+0

Czy domyślnie baza danych derby nie powinna być HIVE? – schmmd

+1

Dla metastore Hive możesz użyć MySQL lub dowolnej bazy danych obsługiwanej przez JDBC. Miałem ten problem na MySQL, więc założyłem, że to była twoja sprawa. – wlk

+0

Nie skonfigurowałem niczego na zapleczu - i otrzymuję ten błąd. Spodziewam się, że używa on wartości domyślnej, która jest bazą danych derby. – schmmd

Powiązane problemy