【发布时间】:2013-11-14 22:28:33
【问题描述】:
我们在尝试使用 distcp 将大量数据泵送到另一个集群时遇到了一个奇怪的问题。
要给出一些数字,
数据大小 = 320GB 映射器数量 = ~70 我们集群中的节点总数 82 src 集群:hadoop 0.20 目标集群:hadoop 2.0.2
当我们开始这项工作时,所有映射器都成功完成,但最后一个需要太长时间,当它完成/失败时,它基本上会冻结作业跟踪器近 15 分钟,然后重新启动所有任务跟踪器,从而重新启动所有当时在集群中运行的作业。
我们有多个 distcp 作业将数据传输到 S3 以及具有相同 hadoop 设置的其他集群,并且没有遇到这个问题。这个过程和其他的唯一区别就是这里我们使用的是webhdfs,webhdfs是瓶颈吗?
我们还尝试减小文件大小,检查网络带宽是否饱和,加载机器,但仍然无法解决这个问题。
另外,当两个hadoop版本不相同时,有没有其他的数据传输方式而不是使用webhdfs
谢谢
【问题讨论】:
-
长期运行的地图任务、托管任务跟踪器和作业跟踪器的日志中是否有任何条目?
-
@ChrisWhite :当job tracker和task tracker冻结时,大约需要15分钟才能恢复..在此期间JT和TT都没有日志。
标签: hadoop mapreduce hdfs cloudera webhdfs