HDFS和本地ext4文件系统中的文件如何相互对应?

时间:2019-05-14 08:29:03

标签: hadoop hdfs

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. 示例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. 示例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可以在本地模式下运行,尽管我想知道如何进行检查/验证(如何?)。

0 个答案:

没有答案