我需要将具有类似HDFS的目录从一个群集复制到另一个群集(两者都是MAPR群集)。
我计划使用DistCp
Java API。但我想避免在目录中重复文件副本。我想知道这些操作是否具有容错能力?即如果由于连接丢失而未完全复制文件,如果DistCp再次启动副本以正确复制文件?
答案 0 :(得分:1)
distcp
使用MapReduce实现其分发,错误处理和恢复以及报告。
您可以使用-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脚本的链接,这可能对您有所帮助。
注意:感谢原作者。