2011-08-13 60 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的命中率(这将是你的瓶颈)。