HDFS辅助工具-跨集群复制数据工具distcp

HDFS辅助工具-跨集群复制数据工具distcp

概述

  • DistCp是Hadoop中的一种工具,在hadoop-tools工程下,作为独立子工程存在。
  • 定位用于数据迁移,定期在集群之间和集群内部备份数据
  • 在备份过程中,每次运行DistCP都称为一个备份周期。尽管性能相对较慢,但它的普及程度越来越高
  • DistCp底层使用MapReduce 在群集之间或并行在同一群集内复制文件。执行复制的MapReduce只有mapper阶段

image-20240316231601800

命令

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

  • 其中source_path、target_path 需要带上地址前缀以区分不同的集群
hadoop distcp hdfs://nnl:8020/foo/a   hdfs://nn2:8020/bar/foo
  • 上面的命令表示从nnl集群拷贝/foo/a 路径下的数据到nn2集群的/bar/foo 路径下。
posted @ 2024-03-18 13:52  七落安歌  阅读(501)  评论(0)    收藏  举报