Hadoop权威指南:通过distcp并行复制

  • distcp是一个分布式复制程序,改程序可以从Hadoop文件系统间复制大量数据,也可以将大量的数据复制到Hadoop中
  • distcp的典型应用是在两个HDFS集群间传输数据

hadoop distcp hdfs://namenode1/foo hdfs://namemode2/bar

  • 默认情况下, distcp会跳过目标路径下已经存在的文件,可以通过overwirte选项覆盖现有文件,也可以通过update选项选择有改动的文件
  • distcp是作为一个MapReduce作业来实现的,通过集群中并行运行的map来完成,这里没有reducer.
  • 如果试图在两个运行着不同HDFS版本的集群上使用distcp复制数据并使用hdfs协议,会导致复制作业失败,因为两个系统版本的RPC是不兼容的
  • 使用HTTP协议复制

hadoop distcp hftp://namenode1:50070/foo hdfs://namenode2/bar

 **namenode的web端口是由dfs.http.address属性决定的**
  • 使用webhdfs协议

    hadoop distcp webhdfs://namenode1:50070/foo webhdfs://namenode2:50070/bar

05-07 15:47