3

我有一个 3 节点集群,在运行一些 HIVE 查询时出现以下错误

失败:元数据错误:MetaException(消息:无法创建数据库路径文件:/user/hive/warehouse/db_dut.db,未能创建数据库 db_dut)失败:执行错误,从 org.apache.hadoop.hive 返回代码 1 .ql.exec.DDLTask

我的 hive-site.xml 包含以下属性

       <property>
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:derby:;databaseName=/var/lib/hive/metastore/metastore_db;create=true</value>
      <description>JDBC connect string for a JDBC metastore</description>
    </property>

<property>
  <name>hive.metastore.warehouse.dir</name>
  <value>/user/hive/warehouse</value>
  <description>location of default database for the warehouse</description>
</property>

>jdbc:derby:;databaseName=/var/lib/hive/metastore/metastore_db;create=true<正确存在于我的本地计算机上。

当我给 hadoop fs -ls /user/hive ..以下输出时

[root@scaj02bda01 metastore]# hadoop fs -ls /user/hive
Found 1 items
drwxrwxrwx   - hive hive          0 2013-04-09 01:40 /user/hive/warehouse
[root@scaj02bda01 metastore]# 

仓库的默认数据库位置在 HDFS 中正确提及,具有所有读写执行权限,但我仍然收到相同的错误。

4

4 回答 4

3

It says it is unable to open database /var/lib/hive/metastore/metastore_db,this error normally comes when you dnt have permission to access the database. Use below commond then reply me:

1)SUDO chmod -R 777 /VAR/LIB/HIVE/METASTORE/METASTORE_DB

2)chmod -R a+rwx /var/lib/hive/metastore/metastore_db

3) rm /var/lib/hive/metastore/metastore_db/*.lck

于 2014-01-15T05:37:09.540 回答
0

我面临同样的错误。由于设置了某些策略,我无法更改权限。所以,我创建了一个新的我自己的文件夹/hdp/myapp/warehousehive-site.xml如下所示。这帮助我解决了这个问题。

<configuration>
  <property>
     <name>javax.jdo.option.ConnectionURL</name>
     <value>jdbc:derby:;databaseName=/hdp/myapp/warehouse/metastore_db;create=true</value>
  </property>
  <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/hdp/myapp/warehouse/</value>
  </property>
</configuration>
于 2020-04-06T05:46:31.427 回答
0

在属性 hive.metastore.warehouse.dir 的 hive-site.xml 中。指向 hdfs 目录而不是本地文件系统目录。所以类似于 localhost:8020/user/hive/warehouse。那是为我做的。

于 2021-07-08T18:20:16.243 回答
0

我有同样的问题,问题是namenode没有在hadoop中启动。转到hadoop文件并执行以下命令:

.sbin/start-all.sh

之后检查名称节点是否开始使用

jsp

如果没有,我可以参考以下对我有帮助的答案Hadoop "Permission denied (publickey,password,keyboard-interactive)" 警告

一旦你启动了namenode,你的问题就会消失。

于 2020-03-21T17:57:16.590 回答