3

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

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

4

2 回答 2

1

distcp使用 MapReduce 来影响其分布、错误处理和恢复以及报告。

请参阅更新和覆盖

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

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

于 2016-07-10T11:46:01.550 回答
0

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

正如“@RamPrasad G”所提到的,我猜你除了在网络故障的情况下重做 distcp 之外别无选择。

一些不错的读物:

Hadoop distcp 网络故障与 WebHDFS

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 传输数据

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

注:感谢原作者。

于 2016-07-11T17:39:05.030 回答