2012-07-30 40 views
8

我對hadoop完全陌生,剛完成安裝,花了我2​​天的時間... 我現在試着用hadoop dfs命令,但我無法理解它,儘管我一直在瀏覽天,我無法找到我想知道的答案。 所有的例子都顯示了結果應該是什麼,而沒有解釋它的真實結構,所以如果有人能夠幫助我理解hadoop hdfs,我會很高興。當我使用hadoop fs -mkdir時,我的文件(dir)存儲在哪裏?

我在HDFS上創建了一個目錄。

bin/hadoop fs -mkdir input 

OK,但我會檢查與ls命令。

bin/hadoop fs -ls 
Found 1 items 
drwxr-xr-x - hadoop supergroup   0 2012-07-30 11:08 input 

好吧,沒問題,一切似乎都很完美..但實際上HDFS數據存儲在哪裏? 我以爲它會存儲在我的datanode目錄(/ home/hadoop/datastore),它在core-site.xml中定義在hadoop.tmp.dir下,但它不存在通過WEB-UI查看,我發現「輸入」是在「/ user/hadoop /」(/ user/hadoop/input)下創建的。

我的問題是

  • (1)用於數據管理部目錄(hadoop.tmp.dir),因爲它不保存一切,我通過DFS指令處理呢?
  • (2)使用dfs命令創建的所有內容都轉到/ user/XXX /,如何更改它的值? (3)當我嘗試通過正常的linux命令(ls/user/hadoop)訪問時,我看不到任何東西。/user/hadoop邏輯上是否存在?

我很抱歉,如果我的問題是愚蠢的.. 新手努力理解Hadoop的更好..

預先感謝您。

回答

11

hdfs是不是posix文件系統而且您必須使用hadoop api來讀取和查看此文件系統。這就是你必須做的原因hadoop fs -ls正如你使用hadoop API在這裏讀取文件一樣。 hdfs中的數據存儲在塊中,並存儲在所有datanode中。有關此文件系統的元數據存儲在Namenode上。您在目錄「/ home/hadoop/datastore」中看到的數據文件是存儲在單個datanode中的塊。

我認爲你應該在其教程中探索更多關於它的文件系統。 Yahoo, YDN tutorial on hdfs

相關問題