跨集群拷貝hdfs


拷貝 A集群的test目錄到B集群的test目錄

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

原因:權限問題

解決:賬號權限問題,切換為創建該文件的用戶賬號,或提供當前用戶權限。

問題2:拒接連接

原因:可能端口號不同引起的,查看端口號與使用協議是否匹配

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

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

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

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

原因:若直接使用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)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM