hdfs在哪里?

时间:2013-04-13 00:56:09

标签: hadoop hdfs

我的机器上安装了hadoop(单节点)。我如何与hdfs进行交互?

我认为使用hadoop fs mkdir创建一个目录会使该目录中的所有内容都在hdfs中,但我可以使用普通的linux命令交互写入该目录。也许我完全误解了文件系统是如何工作的,但我认为它只是附加的,只能使用它的api来访问。

2 个答案:

答案 0 :(得分:3)

Hadooop有三种类型的安装:

  1. 分布式模式(群集)
  2. 伪分布式模式(单节点)
  3. 本地模式(单节点)
  4. 在前两种模式下安装了HDFS。但在第三种模式下,HDFS不存在,但是模拟了。您可以调用“$ hadoop fs -ls”之类的命令,但它可以与您的本地文件系统一起使用,而不是使用hdfs。

    此外,HDFS不是全功能文件系统。要与它进行交互,您应该使用视图中的命令:

    • hadoop fs -ls
    • hadoop fs -mkdir your_directory
    • hadoop fs -cat your_file

    HDFS无法安装到您的linux文件系统(至少没有其他软件),并且支持有限的命令。您也无法使用“cp”命令将文件放入hdfs。你应该使用

    hadoop fs -put local_file_or_directory

    要将文件从hdfs复制到本地文件系统,您应该使用:

    hadoop fs -get filename

答案 1 :(得分:1)

HDFS是OS文件系统之上的文件系统,每个文件系统都在其自己的命名空间中运行。因此,HDFS命名空间在OS命名空间中不可见。使用hadoop fs commands与HDFS命名空间进行交互。

元数据(文件夹,每个文件夹中的文件,文件夹到块映射)存储在NameNode的fsImage中。 offline image viewer可用于查看NameNode上fsImage文件的内容。