跨集羣拷貝hdfs

拷貝 A集羣的test目錄到B集羣的test目錄java

問題1: cause:java.io.IOException: Failed to run job : User root cannot submit applications to queue root.defaultnode

緣由:權限問題web

解決:帳號權限問題,切換爲建立該文件的用戶帳號,或提供當前用戶權限。app

問題2:拒接鏈接運維

緣由:可能端口號不一樣引發的,查看端口號與使用協議是否匹配tcp

hadoop distcp hdfs://master:8020/test/oop

hadoop distcp hftp://master:50070/test/.net

hadoop distcp webhdfs://master:50070/test/日誌

問題3:java.net.UnknowHostException  集羣A 的hdfs路徑至集羣B的hdfs路徑ip

緣由:若直接使用ip,則集羣B的host地址書寫錯誤,查看ip與端口號;若使用hostName,則hosts文件未配置。

解決:A集羣的hosts文件添加B集羣的全部host與ip的映射;

B集羣添加A集羣的全部host與ip的映射,使用hostName均添加。

問題4:Java.net.SocketTimeoutException: connect timed out

緣由:日誌顯示鏈接超時, 用的是hftp協議拷貝,須要鏈接A集羣master 的50070端口,而此時鏈接超時,說明相關權限未開通。或者是hosts文件配置host與ip錯誤

解決:聯繫運維開通B集羣到A集羣全部namenode 的50070端口的防火牆。若是防火牆開通了,仍是出現此問題,能夠修改A集羣的ip tables,將B集羣的全部機器加入ip tables。問題5: map 100%以後鏈接超時Java.net.SocketTimeoutException: connect timed out

緣由:map 100% 完成,說明數據讀取完畢,寫入目標集羣失敗。

解決:開通B集羣到A集羣全部datanode的http相關端口(默認爲50075)。

相關文章
相關標籤/搜索