0
我想從本地傳輸大量文件到hadoop hdfs。 在我的java代碼中,我只有一個連接到hadoop。但我打電話TransferFromLocal使用許多線程的hadoop hdfs
fileSystem.transferFromLocal
同時在50個線程。
我認爲這可能不是一個好方法,因爲它真的很慢。
任何人都可以請給我一些關於這方面的建議嗎?非常感謝你。
我想從本地傳輸大量文件到hadoop hdfs。 在我的java代碼中,我只有一個連接到hadoop。但我打電話TransferFromLocal使用許多線程的hadoop hdfs
fileSystem.transferFromLocal
同時在50個線程。
我認爲這可能不是一個好方法,因爲它真的很慢。
任何人都可以請給我一些關於這方面的建議嗎?非常感謝你。
你需要弄清楚瓶頸導致緩慢轉移,它可以是任何。只增加線程數量不會增加HDFS寫入的比例。沒有深入瞭解Hadoop集羣的詳細信息,就很難診斷問題。
這裏有一些事情要考慮
檢查本地計算機和Hadoop集羣之間的網絡帶寬。
本地磁盤I/O也可能是瓶頸。
嘗試增加數據節點的數量。請注意,數據直接從客戶端流式傳輸到管道中的第一個數據節點。第一個轉發到第二個,轉發到下一個數據節點。
檢查任何配置參數以微調HDFS。
查看Architecture Guide瞭解更多關於HDFS的細節。