Hadoop 集群间传输数据的最佳实践

Hadoop 集群间传输数据的最佳实践

情况: 我需要将大约 100TB 的数据从旧的 Hadoop 集群转移到新的 Hadoop 集群。这两个集群与每个集群上的名称节点之间有直接的 1GbE 连接。数据节点未连接。

我尝试过的:

  • Distcp:这不起作用,因为新旧数据节点没有连接,它会在每个 mapreduce 作业上报告连接超时。
  • hdfs dfs -cp:到目前为止,它运行良好,但速度会变慢,并在几个小时后最终停止传输。它也不支持压缩或良好的可重启性。

我感兴趣的是:

  • 由于集群 1 和集群 2 之间的连接是瓶颈,我有兴趣找到一个工具,让我可以压缩集群 1 上的数据,以很少的开销通过网络发送它(可能是 netcat?),然后在集群 2 上解压缩它。Rsync 会很完美,但我不确定如何在两个 Hadoop 集群之间使用它。
  • 其他我不熟悉的建议。

我的问题:

  • 考虑到列出的限制,我可以使用哪些工具或脚本来有效地在集群 1 和集群 2 之间传输数据?

相关内容