按照 Hive apache wiki 上的说明一步一步安装 Hive 后,我调用了 hive shell 并输入“CREATE TABLE pokes (foo INT, bar STRING);”,然后出现以下错误,日志也包括在内。
我是 Hive 新手,有什么建议或意见吗?非常感谢!我发现通过谷歌网络提出的问题,但没有找到解决方案。
我在 Mac 上对 Hadoop 使用单机模式。
hive> CREATE TABLE poke (foo INT, bar STRING); 失败:元数据错误:javax.jdo.JDOFatalInternalException:捕获到意外异常。NestedThrowables:java.lang.reflect.InvocationTargetException FAILED:执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1
日志文件:
上次登录时间:Tue Jun 14 00:27:51 on ttys001 Zhiyong-Xies-MacBook-Pro:~ hadoop$ cat /tmp/*/hive.log 2011-06-14 00:31:54,834 错误 metastore.HiveMetaStore (HiveMetaStore.java:executeWithRetry(334)) - JDO 数据存储错误。1000 毫秒后重试 Metastore 命令(尝试 1 次,共 1 次) 2011-06-14 00:31:56,012 错误 exec.DDLTask (SessionState.java:printError(374)) - 失败:元数据错误:javax.jdo.JDOFatalInternalException:捕获到意外异常。 嵌套的Throwables: java.lang.reflect.InvocationTargetException org.apache.hadoop.hive.ql.metadata.HiveException:javax.jdo.JDOFatalInternalException:捕获到意外异常。 嵌套的Throwables: java.lang.reflect.InvocationTargetException 在 org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:491) 在 org.apache.hadoop.hive.ql.exec.DDLTask.createTable(DDLTask.java:3233) 在 org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:221) 在 org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:132) 在 org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:57) 在 org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1238) 在 org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1050) 在 org.apache.hadoop.hive.ql.Driver.run(Driver.java:885) 在 org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:224) 在 org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:358) 在 org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:593) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.apache.hadoop.util.RunJar.main(RunJar.java:156) 原因:javax.jdo.JDOFatalInternalException:捕获到意外异常。 嵌套的Throwables: java.lang.reflect.InvocationTargetException 在 javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1186) 在 javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:803) 在 javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:698) 在 org.apache.hadoop.hive.metastore.ObjectStore.getPMF(ObjectStore.java:237) 在 org.apache.hadoop.hive.metastore.ObjectStore.getPersistenceManager(ObjectStore.java:266) 在 org.apache.hadoop.hive.metastore.ObjectStore.initialize(ObjectStore.java:199) 在 org.apache.hadoop.hive.metastore.ObjectStore.setConf(ObjectStore.java:174) 在 org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:62) 在 org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getMS(HiveMetaStore.java:369) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.executeWithRetry(HiveMetaStore.java:321) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(HiveMetaStore.java:466) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:240) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.(HiveMetaStore.java:203) 在 org.apache.hadoop.hive.metastore.HiveMetaStoreClient.(HiveMetaStoreClient.java:107) 在 org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:2010) 在 org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:2020) 在 org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:485) ... 15 更多 引起:java.lang.reflect.InvocationTargetException 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 javax.jdo.JDOHelper$16.run(JDOHelper.java:1958) 在 java.security.AccessController.doPrivileged(本机方法) 在 javax.jdo.JDOHelper.invoke(JDOHelper.java:1953) 在 javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1159) ... 32 更多 引起:java.lang.NullPointerException 在 org.datanucleus.plugin.NonManagedPluginRegistry.registerBundle(NonManagedPluginRegistry.java:443) 在 org.datanucleus.plugin.NonManagedPluginRegistry.registerBundle(NonManagedPluginRegistry.java:355) 在 org.datanucleus.plugin.NonManagedPluginRegistry.registerExtensions(NonManagedPluginRegistry.java:215) 在 org.datanucleus.plugin.NonManagedPluginRegistry.registerExtensionPoints(NonManagedPluginRegistry.java:156) 在 org.datanucleus.plugin.PluginManager.registerExtensionPoints(PluginManager.java:82) 在 org.datanucleus.OMFContext.(OMFContext.java:156) 在 org.datanucleus.OMFContext.(OMFContext.java:137) 在 org.datanucleus.ObjectManagerFactoryImpl.initialiseOMFContext(ObjectManagerFactoryImpl.java:132) 在 org.datanucleus.jdo.JDOPersistenceManagerFactory.initialiseProperties(JDOPersistenceManagerFactory.java:363) 在 org.datanucleus.jdo.JDOPersistenceManagerFactory.(JDOPersistenceManagerFactory.java:307) 在 org.datanucleus.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:255) 在 org.datanucleus.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:182) ... 40 更多 2011-06-14 00:31:56,014 错误 ql.Driver (SessionState.java:printError(374)) - 失败:执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1