【Hadoop-Distcp】工具简介及参数说明
1)概述
Distcp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具。 它使用 Map/Reduce 实现文件分发,错误处理和恢复,以及报告生成。
Distcp 把文件和目录的列表作为 map 任务的输入,每个任务会完成源列表中部分文件的拷贝。
在默认情况下, Distcp 会跳过目标路径下已经存在的文件。
官网地址:http://hadoop.apache.org/docs/r2.7.0/hadoop-distcp/DistCp.html
2)适合的场景及其有点
1、适合场景:
数据异地灾,机房下线,数据迁移等。
2、优点:
① 可以限制带宽
,使用 bandwidth
参数对 distcp 的每个 map 任务限流,同时控制 map 并发数量即可控制整个拷贝任务的带宽,防止拷贝任务将带宽打满,影响其它业务。
② 支持 overwrite
(覆盖写,无条件覆盖目标文件,即使它们存在),update
(增量写,如果 dest 文件的名称和大小与 src 文件不同,则覆盖;若目的文件大小和名称与源文件相同则跳过),delete
(删除写,删除 dest 中存在的文件,但在 src 中不存在)等多种源和目的校验的拷贝方式,大量数据的拷贝必然要做到数据拷贝过程中的校验,来保证源和目的数据的一致性。
3)参数说明
此参数为Hadoop2.x版本
-append
:重用目标文件中的现有数据,并在可能的情况下添加新数据,新增进去而不是覆盖它。-async
:是否应该阻塞 distcp 执行。-atomic
:提交所有更改或不提交更改。</