在尝试使用 distcp 将大量数据泵送到另一个集群时,我们遇到了一个奇怪的问题。
给出一些数字,
数据大小 = 320GB 映射器数量 = ~70 我们集群中的节点总数 82 src 集群:hadoop 0.20 目标集群:hadoop 2.0.2
当我们开始这项工作时,所有映射器都成功完成,但最后一个需要太长时间,当它完成/失败时,它基本上会冻结作业跟踪器近 15 分钟,之后所有任务跟踪器都会重新启动,从而重新启动所有作业当时正在集群中运行。
我们有多个 distcp 作业将数据传输到 S3 以及具有相同 hadoop 设置的其他集群,并且没有遇到这个问题。这个过程和其他的唯一区别就是这里我们使用的是webhdfs,webhdfs是瓶颈吗?
我们还尝试减小文件大小,检查网络带宽是否饱和,机器负载,但仍然无法解决这个问题。
另外,当两个hadoop版本不同时,是否有其他方式进行数据传输而不是使用webhdfs
谢谢