2015-06-12 89 views
0

我想將數據從一個HDFS複製到另一個HDFS。任何建議,爲什麼第一個工程,但不是第二個?Hadoop distcp不能正常工作

(作品)

hadoop distcp hdfs://abc.net:8020/foo/bar webhdfs://def.net:14000/bar/foo 

(不工作)

hadoop distcp webhdfs://abc.net:50070/foo/bar webhdfs://def:14000/bar/foo 

謝謝!

+0

請分享錯誤日誌 –

+0

您認爲這兩種方式都正確嗎?源和目標位於不同版本的Hadoop –

+0

中,如果源具有較低版本的MR並且目標具有較高版本的MR,則應該存在問題。爲了克服這個問題,你應該使用'webhdfs'。你的雙方似乎沒問題,但在你的第二個命令中,namenode端口應該是'50070'。你可以交叉檢查它是否在正確的端口上運行。您可以通過網絡瀏覽器進行驗證。 –

回答

0

如果兩個集羣正在運行HDFS的不兼容的版本,然後 可以使用webhdfs協議在它們之間distcp

hadoop distcp webhdfs://namenode1:50070/source/dir webhdfs://namenode2:50070/destination/dir 

的NameNode URI和的NameNode HTTP端口應在源和目的地命令如果正在使用webhdfs提供,。