我必须创建/tmp和/user/hive/warehouse吗?

1cosmwyk  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(354)

从https://cwiki.apache.org/confluence/display/hive/gettingstarted
运行Hive
hive使用hadoop,因此:
你必须有hadoop在你的路径或
导出hadoop\u主页=
此外,必须使用下面的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

根本没有 /usr/hive/warehouse 在我的ubuntu本地ext4文件系统中。
那么跑步的目的是什么呢 -mkdir 创建两个目录?

qyzbxkaa

qyzbxkaa1#

mkdir:“/tmp”:文件存在
此文件夹已存在于hdfs中。因此,运行mkdir命令时出现“文件存在”错误。
您可以使用list命令进行检查:hadoopfs-ls/
mkdir:`/user/hive/warehouse':没有这样的文件或目录
mkdir命令创建新目录,但不创建父目录。如果路径中不存在任何父目录,则会出现“无此类文件或目录”错误。在这种情况下,“user”或“hive”目录不存在。
可以使用list命令进行检查:hadoopfs-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/

相关问题