java.sql.SQLException:无法启动数据库' / var / lib / hive / metastore / metastore_db'在蜂巢中

时间:2014-03-26 03:48:08

标签: hadoop

我是蜂巢的首发。当我尝试执行任何配置单元命令时:

hive>SHOW TABLES;

它显示以下错误:

FAILED: Error in metadata: javax.jdo.JDOFatalDataStoreException: Failed to start database '/var/lib/hive/metastore/metastore_db', see the next exception for details.
NestedThrowables:
java.sql.SQLException: Failed to start database '/var/lib/hive/metastore/metastore_db', see the next exception for details.
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

4 个答案:

答案 0 :(得分:5)

看起来像德比锁定问题。您可以通过删除目录/var/lib/hive/metastore/metastore_db中的锁定文件来临时解决此问题。但是这个问题也将在未来发生

sudo rm -rf /var/lib/hive/metastore/metastore_db/*.lck

使用默认的hive Metastore嵌入式derby,不可能同时启动多个hive实例。通过将hive Metastore更改为mysql或postgres服务器,可以解决此问题。

请参阅以下cloudera文档以了解如何更改hive Metastore

http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/4.2.0/CDH4-Installation-Guide/cdh4ig_topic_18_4.html

答案 1 :(得分:2)

当我忘记在同一节点上运行的spark-shell的另一个实例时,我遇到了类似的错误。

答案 2 :(得分:1)

hive-site.xml文件夹下更新~/hive/conf,如下面的名称/值,然后尝试:

 <name>javax.jdo.option.ConnectionURL</name>
 <value>jdbc:derby:;databaseName=/var/lib/hive/metastore/metastore_db;create=true</value>

答案 3 :(得分:0)

在我的情况下,我需要创建一个目录并授予适当的权限:

$ sudo mkdir /var/lib/hive/metastore/
$ sudo chown hdfs:hdfs /var/lib/hive/metastore/