DistCp 是 Apache Hadoop 中的一种流行工具,在 hadoop-tools 工程下,作为独立子工程存在。其定位就是用于数据迁移的,定期在集群之间和集群内部备份数据。(在备份过程中,每次运行 DistCp 都称为一个备份周期。)尽管性能相对较慢,但它的普及程度已经越来越高。



DistCp 命令
hadoop distcp OPTIONS [source_path...] <target_path>
  • source_path、target_path指定的是原始 Hdfs 集群的路径和目标 Hdfs 集群路径

  • OPTIONS 选项参数

选项意义
-append拷贝文件时支持对现有文件进行追加写操作
-async异步执行distcp拷贝任务
-bandwidth <arg>对每个Map任务的带宽限速
-delete删除相对于源端,目标端多出来的文件
-diff <arg>通过快照diff信息进行数据的同步
-overwrite以覆盖的方式进行拷贝,如果目标端文件已经存在,则直接覆盖
-p <arg>拷贝数据时,扩展属性信息的保留,包括权限信息、块大小信息等等
-skipcrccheck拷贝数据时是否跳过cheacksum的校验
-update拷贝数据时,只拷贝相对于源端 ,目标端不存在的文件数据

案例1:将第一个集群中的 /user/briup 下的所有文件及子目录搬运到第二个集群中

hadoop distcp hdfs://192.168.174.136:9000/user/briup  hdfs://192.168.174.133:9000/

最后修改: 2023年12月27日 星期三 17:20