无法创建数据库路径文件:/user/hive/warehouse 错误
Posted
技术标签:
【中文标题】无法创建数据库路径文件:/user/hive/warehouse 错误【英文标题】:Unable to create database path file:/user/hive/warehouse Error 【发布时间】:2013-04-09 09:25:15 【问题描述】:我有一个 3 节点集群,在运行一些 HIVE 查询时出现以下错误
失败:元数据错误:MetaException(消息:无法创建 数据库路径文件:/user/hive/warehouse/db_dut.db,创建失败 数据库 db_dut) 失败:执行错误,从返回代码 1 org.apache.hadoop.hive.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 中正确提到了仓库的默认数据库位置,具有所有读写执行权限,但我仍然遇到相同的错误。
【问题讨论】:
hadoop core-site.xml 中 fs.default.name 属性的值是多少。还。您是否设置了 HADOOP_HOME 环境变量?另外,发布您使用的是哪个配置单元版本? 【参考方案1】:它说它无法打开数据库/var/lib/hive/metastore/metastore_db,这个错误通常在你没有访问数据库的权限时出现。 使用下面的command然后回复我:
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
【讨论】:
【参考方案2】:我有同样的问题,问题是namenode没有在hadoop中启动。 转到hadoop文件并执行以下命令:
.sbin/start-all.sh
之后检查namenode是否开始使用
jsp
如果没有,我可以参考以下对我有帮助的答案Hadoop "Permission denied (publickey,password,keyboard-interactive)" warning
一旦你启动了namenode,你的问题就会消失。
【讨论】:
【参考方案3】:我遇到了同样的错误。由于设置了某些策略,我无法更改权限。因此,我创建了一个新的我自己的文件夹,例如/hdp/myapp/warehouse
,并在hive-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>
【讨论】:
【参考方案4】:在属性 hive.metastore.warehouse.dir 的 hive-site.xml 中。指向 hdfs 目录而不是本地文件系统目录。所以类似于 localhost:8020/user/hive/warehouse。这对我有用。
【讨论】:
以上是关于无法创建数据库路径文件:/user/hive/warehouse 错误的主要内容,如果未能解决你的问题,请参考以下文章
Linux 文件上传时无法创建新路径,mkdirs也返回false。
无法创建保存下载文件的路径:您无权将文件“folderName”保存在“Documents”文件夹中
XCode 无法通过此路径“file://localhost/users/admin/Desktop/”创建文件
无法运行 Angular 站点,因为我的 angular.json 文件路径与 ng build 创建的不匹配