我看了亚马逊的S3DistCp的文档-上面写着,
“在复制操作期间,S3DistCp将临时复制集群上HDFS中的输出。在HDFS中必须有足够的空闲空间来生成数据,否则复制操作就会失败。此外,如果S3DistCp失败,它不会清理临时HDFS目录,因此必须手动清除临时文件。例如,如果您将500 GB的数据从HDFS复制到S3,S3DistCp将整个500 GB的数据复制到HDFS的临时目录中,然后将数据从临时目录上传到S3”。
这并不是无关紧要的,特别是如果您有一个大型的HDFS集群。有没有人知道普通的Hadoop DistCp是否具有将文件暂存在临时文件夹中的相同行为?
发布于 2015-02-09 05:44:01
Distcp不使用临时文件夹,而是对帧间/帧内集群中的文件副本使用Map还原。同样用于HDFS到S3的。如果AFAIK由于某种原因而失败,那么它不会失败。
如果总共需要发生500 GB的文件副本,如果200 GB的文件已经复制到其中并且distcp失败了,那么S3中就有200 GB的数据。当您再次尝试重新运行distcp作业时,它将跳过已经存在的文件。
有关命令的更多信息,请参阅distcp指南这里。
https://stackoverflow.com/questions/28400968
复制相似问题