Hive 在安装时不起作用
Posted
技术标签:
【中文标题】Hive 在安装时不起作用【英文标题】:Hive doesn't work on install 【发布时间】:2011-07-28 02:18:18 【问题描述】:执行任何命令时,我在 Hive 中收到以下错误。
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
元数据库显然有问题,但错误相当隐晦,安装指南也没有说明配置元数据库的任何内容。
【问题讨论】:
记得包含你正在使用的 Hive 和 Hadoop 版本 hadoop-0.20.203.0 和 hive-0.7.1 您是从以前版本的 Hive 升级吗? 我在 hive 0.9.0 上遇到了同样的问题。我按照 Wojtek 的解决方案从 mysql.com/downloads/connector/j 下载 mysql 连接器并将 jar 复制到 hive 的 lib 目录。这为我解决了问题。 【参考方案1】:我遇到了同样的问题。
解决方案是下载此文件:https://www.mysql.com/downloads/connector/j/,解压缩,将 jar 从内部复制到位置:/usr/lib/hive/lib
(在您的情况下可能会有所不同 - 这是配置单元库所在的位置)
【讨论】:
HIVE 不应该默认使用 derby 数据库吗? 对于 Hive 元存储,您可以使用 MySQL 或任何 JDBC 支持的数据库。我在 MySQL 上遇到了这个问题,所以我认为这是你的情况。 我没有对后端进行任何配置——我收到了这个错误。我希望它使用默认值,即 derby 数据库。 这个想法解决了我遇到的几乎相同的问题。 “失败:元数据错误:javax.jdo.JDOFatalInternalException:创建事务连接工厂 NestedThrowables 时出错:java.lang.reflect.InvocationTargetException 失败:执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1”用 sudo ln -s /usr/share/java/mysql-5.1.10.jar /usr/lib/hive/lib/ 解决(使用现有的 libmysql-java 文件)。【参考方案2】:我在这里找到了答案:
http://getsatisfaction.com/cloudera/topics/hive_error_error_in_metadata_javax_jdo_jdofatalinternalexception
“Shirish Reddy:删除$HADOOP_HOME/build,一切都会好起来的。回复复制自Zheng”
奇怪的是,删除 $HADOOP_HOME/build 后问题就消失了。
【讨论】:
删除是什么意思?删除实际文件夹?以上是关于Hive 在安装时不起作用的主要内容,如果未能解决你的问题,请参考以下文章
PHP OpenSSL 扩展在安装 TYPO3 CMS 7.4.0 时不起作用
使用 QProcess 启动 pg_dumpall 时不起作用
@tailwindcss/jit 在 postcss.config.js 中配置时不起作用