java.sql.sqlexception:无法在配置单元中启动数据库'/var/lib/hive/metastore/metastore\u db'

pu3pd22g  于 2021-06-03  发布在  Hadoop
关注(0)|答案(4)|浏览(409)

我是 hive 的初学者。当我尝试执行任何配置单元命令时: 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
yshpjwxd

yshpjwxd1#

当我忘记了另一个 spark-shell 在同一节点上运行。

wn9m85ua

wn9m85ua2#

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

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

scyqe7ek3#

更新 hive-site.xml 低于 ~/hive/conf 文件夹名称/值如下,请尝试以下操作:

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

wgx48brx4#

看起来像是德比锁定问题。您可以通过删除目录中的锁文件来临时修复此问题 /var/lib/hive/metastore/metastore_db . 但这个问题在未来也会发生 sudo rm -rf /var/lib/hive/metastore/metastore_db/*.lck 使用默认的hive metastore embedded derby,不可能同时启动多个hive示例。通过将hivemetastore更改为mysql或postgres服务器,可以解决这个问题。
请参阅以下cloudera文档以更改配置单元元存储
http://www.cloudera.com/content/cloudera-content/cloudera-docs/cdh4/4.2.0/cdh4-installation-guide/cdh4ig_topic_18_4.html

相关问题