HDFS和本地ext4文件系统中的文件如何相互对应?
根据Do I have to create /tmp and /user/hive/warehouse?
'/ tmp'和'/ user / hive / warehouse'目录均在hdfs文件系统中创建。您无法使用本地文件系统命令查看这些文件夹。
本地文件系统中的
/tmp
文件夹由操作系统维护,并用于保存临时文件。与hdfs无关。
我以为
HDFS中的文件和本地ext4文件系统中的文件不是同一文件,并且彼此独立,除了HDFS中的文件可能是在本地ext4文件系统中的其他一些文件中实现的。
默认情况下,HDFS文件系统应该为空,没有任何文件,并且要向其中添加文件,我必须使用hadoop fs
命令将文件添加到HDFS文件系统中。
但是以下示例使我感到困惑:
示例1:I found that
$ $HADOOP_HOME/bin/hadoop fs -mkdir /tmp
mkdir: `/tmp': File exists
和
$HADOOP_HOME/bin/hadoop fs -ls /tmp
在本地ext4文件系统中显示与ls -l /tmp
相同的文件。
默认情况下,为什么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
并且我的本地ext4文件系统中没有/usr/hive/warehouse
在我的Ubuntu中。
如果我在HDFS文件系统中创建/usr/hive/warehouse
$ sudo env "JAVA_HOME=$JAVA_HOME" $HADOOP_HOME/bin/hadoop fs -mkdir -p /user/hive/warehouse
为什么它还会在我的本地ext4中创建/user/hive/warehouse/
文件系统
$ ls -ld /user/hive/warehouse/
drwxr-xr-x 2 root root 4096 May 14 05:30 /user/hive/warehouse/
谢谢。
以上问题的答案是否取决于我的Hadoop是否处于本地模式,伪分布式模式和分布式模式? 如果可以,HDFS和本地ext4文件系统中的文件在本地模式,伪分布式模式和分布式模式下分别如何对应?
我已经在具有ext4文件系统的Ubuntu中下载了hadoop-3.1.2。
我听说过
HDFS可以在本地模式,伪分布式模式和分布式模式下工作。
默认情况下,HDFS在本地模式下工作。
我没有对hadoop的配置进行任何更改,因此我认为HDFS可以在本地模式下运行,尽管我想知道如何进行检查/验证(如何?)。