跨集群拷贝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