2013-04-13 46 views
-3

我在我的機器上安裝了hadoop(單節點)。我如何與hdfs交互?hdfs在哪裏?

我認爲使用hadoop fs mkdir創建一個目錄將使該目錄中的所有內容都位於hdfs中,但我可以使用普通的linux命令交互寫入該目錄。也許我完全誤解了文件系統的工作原理,但我認爲它只是追加,只能使用它的api訪問。

回答

3

Hadooop有三種類型的安裝:

  1. 分佈式模式(簇)
  2. 僞分佈式模式(單節點)
  3. 本地模式(單節點)

在第一安裝了兩種模式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

1

HDFS是一個在OS文件系統之上的文件系統,每個文件系統運行在它自己的命名空間中。因此,HDFS命名空間在操作系統名稱空間中不可見。使用hadoop fs commands與HDFS名稱空間進行交互。

元數據(文件夾,每個文件夾中的文件,要阻止映射的文件夾)存儲在NameNode的fsImage中。 offline image viewer可用於查看NameNode上的fsImage文件的內容。