2015-09-17 33 views
1

我正在瀏覽一個教程,其中使用了Cloudera VM。 hadoop堆棧預先安裝在虛擬機中。 任何時候我必須做的操作,我必須做的文件從VM文件系統轉移到HDFS,它看起來對我來說,從本地文件系統(在我的情況下VM本地文件系統)複製到HDFS的所有文件的開銷類型的HDFS 。HDFS可以作爲機器的本機文件系統運行嗎?

hdfs dfs -put <FILE_IN_VM_FS> <FILE_IN_HDFS> 

HDFS是否作爲工業設置中的本機文件系統運行,或者上述方法是否是這樣做的事實。

回答

1

你不能用HDFS跳過這個過程。將文件存儲在HDFS中意味着需要執行幾個步驟,例如,如果文件大於塊大小,則將文件分塊,並在namenode中生成記錄以存儲與文件塊相關的所有元數據,創建所需的副本等等。即使你只使用一個節點,HDFS也可以在分佈式環境中工作。

+0

讓我們說,在我們需要的大規模部署中,副本,namnode,文件中斷。不要直接將HDFS部署爲本地文件系統會更快嗎? – David

+0

不是真的,「本機文件系統」只能在一臺機器上運行,並且HDFS需要在不同的機器上同時運行。模擬本地文件系統,同時具有容錯能力,分佈並不容易,並且需要平衡。 MapR開發自己的分佈式文件系統,它可以完成你對一些專業人士和一些缺點的要求。 – RojoSam

+0

在大型部署中,本機文件系統並不是非常有用,因爲數據不僅僅用於一個源。 hdfs中的每個節點都可以與FTP,S3,Azure存儲,Kafka等遠程系統連接,並且幾乎直接複製de數據(與NameNode協調進程),這樣更容易且更具可擴展性。 – RojoSam

相關問題