2011-07-28 31 views
6

Recibo el siguiente error en Hive al ejecutar cualquier comando.Hive no funciona en la instalación

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 

Esto está en el 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 

Es evidente que hay un problema con la base de metadatos, pero el error es bastante obtuso y la guía de instalación no dice nada acerca de la configuración de la base de metadatos.

+0

Recuerde incluir la versión de Hive y Hadoop que está usando – wlk

+0

hadoop-0.20.203.0 y hive-0.7.1 – schmmd

+0

¿Está actualizando la versión anterior de Hive? – wlk

Respuesta

7

Estaba teniendo el mismo problema.
las soluciones es para descargar el archivo: https://www.mysql.com/downloads/connector/j/, descomprimirlo, copiar frasco desde el interior a la ubicación: /usr/lib/hive/lib (podría ser diferente en su caso - aquí es donde se encuentran las librerías de la colmena)

+0

¿No debería HIVE usar una base de datos derby predeterminada? – schmmd

+1

Para Hive metastore puede utilizar MySQL o cualquier base de datos compatible con JDBC. Estaba teniendo este problema en MySQL, así que supuse que ese era tu caso. – wlk

+0

No configuré nada sobre el backend, y estoy obteniendo este error. Espero que esté usando el predeterminado, que es una base de datos de derby. – schmmd

Cuestiones relacionadas