hdfs和本地ext4文件系统中的文件如何相互对应?
根据,我必须创建/tmp和/user/hive/warehouse吗?
“/tmp”和“/user/hive/warehouse”目录都是在hdfs文件系统中创建的。您无法使用本地文件系统命令查看这些文件夹。
这个 /tmp
本地文件系统中的文件夹由操作系统维护,用于保存临时文件。与hdfs无关。
我以为
hdfs中的文件和本地ext4文件系统中的文件不是相同的文件,它们相互独立,只是hdfs中的文件可能是在本地ext4文件系统中的一些其他文件中实现的。
hdfs文件系统在默认情况下应该是空的,没有任何文件,要向其中添加文件,我必须使用 hadoop fs
命令。
但下面的例子让我困惑:
例1:我发现
$ $HADOOP_HOME/bin/hadoop fs -mkdir /tmp
mkdir: `/tmp': File exists
和
$HADOOP_HOME/bin/hadoop fs -ls /tmp
显示与相同的文件 ls -l /tmp
在本地ext4文件系统中。
为什么hdfs文件系统默认包含目录 /tmp
在本地ext4文件系统中,没有显式运行 hadoop fs
添加 /tmp
到hdfs文件系统?
例2:
$ $HADOOP_HOME/bin/hadoop fs -mkdir /user/hive/warehouse
mkdir: `/user/hive/warehouse': No such file or directory
而且没有 /usr/hive/warehouse
在我的ubuntu本地ext4文件系统中。
如果我创造 /usr/hive/warehouse
在hdfs文件系统中
$ sudo env "JAVA_HOME=$JAVA_HOME" $HADOOP_HOME/bin/hadoop fs -mkdir -p /user/hive/warehouse
为什么它也会产生 /user/hive/warehouse/
在本地ext4文件系统中
$ ls -ld /user/hive/warehouse/
drwxr-xr-x 2 root root 4096 May 14 05:30 /user/hive/warehouse/
以上问题的答案是否取决于hadoop是否处于本地模式、伪分布式模式和分布式模式?如果是,那么hdfs和localext4文件系统中的文件如何分别在本地模式、伪分布式模式和分布式模式下相互对应?
我已经用ext4文件系统在我的ubuntu中下载了hadoop-3.1.2。
我听说了
hdfs可以在本地模式、伪分布式模式和分布式模式下工作。
默认情况下,hdfs在本地模式下工作。
我没有对hadoop的配置做任何更改,所以我认为hdfs可以在本地模式下工作,尽管我想知道如何检查/验证(如何?)。
暂无答案!
目前还没有任何答案,快来回答吧!