DistCp是集羣內部或者集羣之間高性能拷貝工具,使用mapreduce實現文件分發、數據處理、報告生成。
DistCp1最大的特點就是map-only,可以加快文件傳輸速度。由於需要保證文件中block塊的有序性,mapreduce以文件爲分發單位。加上map階段是靜態分配map task的,分發時容易造成負載不均勻。
DistCp2採用動態分配map task機制,”多勞多得“。目錄文件被分成多個chunk.K文件,執行快的map task可以多領取幾個chunk.K文件,解決了負載不均衡的問題,但仍存在傳輸效率低下的問題。
考慮到數據仍在同一datanode上,則可以採用文件硬鏈接實現FastCopy。FaceBook和淘寶的跨機房項目就是採用這種FastCopy實現在不同結點中快傳的。