两个远程集群之间的DistCp容错

时间:2016-07-10 04:21:36

标签: java hadoop hdfs distcp

我需要将具有类似HDFS的目录从一个群集复制到另一个群集(两者都是MAPR群集)。

我计划使用DistCp Java API。但我想避免在目录中重复文件副本。我想知道这些操作是否具有容错能力?即如果由于连接丢失而未完全复制文件,如果DistCp再次启动副本以正确复制文件?

2 个答案:

答案 0 :(得分:1)

distcp使用MapReduce实现其分发,错误处理和恢复以及报告。

请参阅Update and Overwrite

  

您可以使用-overwrite选项来避免重复此外,您也可以检查更新选项。如果网络连接失败,一旦连接恢复,您就可以使用覆盖选项重新启动

请参阅上述指南链接中提到的-update和-overwrite示例。

答案 1 :(得分:0)

以下是重构的distcp的链接: https://hadoop.apache.org/docs/r2.7.2/hadoop-distcp/DistCp.html

As" @RamPrasad G"提到,我猜你除了在发生网络故障时重做distcp之外别无选择。

一些好的读物:

  

使用WebHDFS的Hadoop distcp网络故障

http://www.ghostar.org/2015/08/hadoop-distcp-network-failures-with-webhdfs/

  

两个HA群集之间的Distcp

http://henning.kropponline.de/2015/03/15/distcp-two-ha-cluster/

  

使用DistCp

通过S3将数据传输到Altiscale或从Altiscale传输数据

https://documentation.altiscale.com/transferring-data-using-distcp 此页面包含一个带有重试的shell脚本的链接,这可能对您有所帮助。

注意:感谢原作者。