2011-08-13 59 views
1

什麼是從NFS掛載實現並行複製到hadoop的最佳和快速的方式? 我們有一個大量文件的掛載,我們需要將它複製到hdfs中。並行複製到HDFS

一些選項:

  1. 運行copyFromLocal在多線程的方式
  2. 使用DistCp使用在一個孤立的方式。
  3. 我可以寫一張地圖唯一的作業來複制嗎?

問候, JD

+0

對你來說真正的硬件測試可能是最好的選擇。 – wlk

+0

我打算使用distcp -f <文件:///列表URIS>源列表中的文件數量將以百萬爲單位。我不知道性能如何:( – Jagaran

+0

M/R作業可能會有最低的性能,爲什麼你不想在將這些文件拷貝到HDFS之前合併這些文件?如果你有幾百萬個文件,我假設它們是很小 – wlk

回答

1

我認爲最關鍵的問題是什麼是對NFS鏈接的源端?如果它是一臺NAS,那麼在多臺客戶機同時運行copyFromLocal(每臺機器都有一臺)的情況下可能會更好。即使是高性能的NAS,當您從同一個客戶端讀取5到10個以上的磁盤時,也會不高興。我將建模以下(帶copyFromLocal全部):

  • NAS - > 1個客戶端 - > 5,10,50,100個並行進程
  • NAS - > 5客戶 - > 5,10,50,100並行進程

我肯定會避免M/R,因爲進程啓動成本太高,甚至distcp也不會如此,因爲您無法控制源NAS的命中率(這將是你的瓶頸)。