我必须创建 /tmp 和 /user/hive/warehouse 吗?
Posted
技术标签:
【中文标题】我必须创建 /tmp 和 /user/hive/warehouse 吗?【英文标题】:Do I have to create /tmp and /user/hive/warehouse? 【发布时间】:2019-05-14 01:18:48 【问题描述】:来自https://cwiki.apache.org/confluence/display/Hive/GettingStarted
运行 Hive
Hive 使用 Hadoop,所以:
您的路径中必须有 Hadoop,或者 导出 HADOOP_HOME=此外,您必须使用以下 HDFS 命令来创建 /tmp 和 /user/hive/warehouse(又名 hive.metastore.warehouse.dir)并设置它们 chmod g+w 才能在 Hive 中创建表。
$ $HADOOP_HOME/bin/hadoop fs -mkdir /tmp
$ $HADOOP_HOME/bin/hadoop fs -mkdir /user/hive/warehouse
$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /tmp
$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /user/hive/warehouse
我无法运行这两个-mkdir
命令:
$ $HADOOP_HOME/bin/hadoop fs -mkdir /tmp
mkdir: `/tmp': File exists
`/tmp' 已经存在于我的 Ubuntu 的本地 ext4 文件系统中。
$ $HADOOP_HOME/bin/hadoop fs -mkdir /user/hive/warehouse
mkdir: `/user/hive/warehouse': No such file or directory
在我的 Ubuntu 本地 ext4 文件系统中没有 /usr/hive/warehouse
。
那么运行-mkdir
创建这两个目录的目的是什么?
【问题讨论】:
【参考方案1】:mkdir: `/tmp': 文件存在
此文件夹已存在于 hdfs 中。所以你在运行 mkdir 命令时收到“文件存在”错误。
您可以使用 list 命令查看:hadoop fs -ls /
mkdir: `/user/hive/warehouse': 没有这样的文件或目录
mkdir 命令创建新目录但不创建父目录。如果路径中不存在任何父目录,您将收到“没有这样的文件或目录”错误。在这种情况下,'user' 或 'hive' 目录都不存在。
您可以使用列表命令检查:hadoop fs -ls /user
使用“-p”选项运行“mkdir”命令会创建所有缺少的父目录。
hadoop fs -mkdir -p /user/hive/warehouse
“/tmp”和“/user/hive/warehouse”目录都是在 hdfs 文件系统中创建的。您无法使用本地文件系统命令查看这些文件夹。
`/tmp' 已经存在于我的 Ubuntu 的本地 ext4 文件系统中。
此 /tmp 文件夹由您的操作系统维护,用于保存临时文件。与 hdfs 无关。
列出hdfs中的文件夹,
hadoop fs -ls /user
hadoop fs -ls /
hadoop fs -ls /user/hive/
【讨论】:
谢谢。如果您也可以考虑***.com/questions/56126071/…,我将不胜感激以上是关于我必须创建 /tmp 和 /user/hive/warehouse 吗?的主要内容,如果未能解决你的问题,请参考以下文章