hadoop命令distcp注意事项

地址:http://blog.csdn.net/azhao_dn/article/details/7054286#

hadoop  distcp命令用于在两个不同的集群间拷贝数据,它的优点在于将数据拷贝操作作为mapred程序来执行,这样就大大提高了拷贝的速度,使用distcp命令时必须注意以下事项:

   1)数据源集群 的所有节点必须 知道目标集群所有节点ip和host的转换关系

   2)目标路径必须存在

   3)命令中必须使用主机名,而不是ip地址

   测试结果如下:

  1. bin/hadoop distcp hdfs://hadoopmaster:9000/data/dw/vv/20111208/vv_20111208_05_part-00000.lzo hdfs://hadoopmaster2:9000/user/rsync/test1  
  2. 11/12/08 17:23:43 INFO tools.DistCp: srcPaths=[hdfs://hadoopmaster:9000/data/dw/vv/20111208/vv_20111208_05_part-00000.lzo]  
  3. 11/12/08 17:23:43 INFO tools.DistCp: destPath=hdfs://hadoopmaster2:9000/user/rsync/test1  
  4. 11/12/08 17:23:44 INFO tools.DistCp: sourcePathsCount=1  
  5. 11/12/08 17:23:44 INFO tools.DistCp: filesToCopyCount=1  
  6. 11/12/08 17:23:44 INFO tools.DistCp: bytesToCopyCount=30.2m  
  7. 11/12/08 17:23:45 INFO mapred.JobClient: Running job: job_201112081643_0027  
  8. 11/12/08 17:23:46 INFO mapred.JobClient:  map 0% reduce 0%  
  9. 11/12/08 17:24:08 INFO mapred.JobClient:  map 100% reduce 0%  
  10. 11/12/08 17:24:13 INFO mapred.JobClient: Job complete: job_201112081643_0027  
  11. 11/12/08 17:24:13 INFO mapred.JobClient: Counters: 18  
  12. 11/12/08 17:24:13 INFO mapred.JobClient:   Job Counters   
  13. 11/12/08 17:24:13 INFO mapred.JobClient:     SLOTS_MILLIS_MAPS=16764  
  14. 11/12/08 17:24:13 INFO mapred.JobClient:     Total time spent by all reduces waiting after reserving slots (ms)=0  
  15. 11/12/08 17:24:13 INFO mapred.JobClient:     Total time spent by all maps waiting after reserving slots (ms)=0  
  16. 11/12/08 17:24:13 INFO mapred.JobClient:     Launched map tasks=1  
  17. 11/12/08 17:24:13 INFO mapred.JobClient:     SLOTS_MILLIS_REDUCES=0  
  18. 11/12/08 17:24:13 INFO mapred.JobClient:   File Input Format Counters   
  19. 11/12/08 17:24:13 INFO mapred.JobClient:     Bytes Read=270  
  20. 11/12/08 17:24:13 INFO mapred.JobClient:   File Output Format Counters   
  21. 11/12/08 17:24:13 INFO mapred.JobClient:     Bytes Written=0  
  22. 11/12/08 17:24:13 INFO mapred.JobClient:   FileSystemCounters  
  23. 11/12/08 17:24:13 INFO mapred.JobClient:     HDFS_BYTES_READ=31682544  
  24. 11/12/08 17:24:13 INFO mapred.JobClient:     FILE_BYTES_WRITTEN=22361  
  25. 11/12/08 17:24:13 INFO mapred.JobClient:     HDFS_BYTES_WRITTEN=31682124  
  26. 11/12/08 17:24:13 INFO mapred.JobClient:   distcp  
  27. 11/12/08 17:24:13 INFO mapred.JobClient:     Files copied=1  
  28. 11/12/08 17:24:13 INFO mapred.JobClient:     Bytes copied=31682124  
  29. 11/12/08 17:24:13 INFO mapred.JobClient:     Bytes expected=31682124  
  30. 11/12/08 17:24:13 INFO mapred.JobClient:   Map-Reduce Framework  
  31. 11/12/08 17:24:13 INFO mapred.JobClient:     Map input records=1  
  32. 11/12/08 17:24:13 INFO mapred.JobClient:     Spilled Records=0  
  33. 11/12/08 17:24:13 INFO mapred.JobClient:     Map input bytes=170  
  34. 11/12/08 17:24:13 INFO mapred.JobClient:     Map output records=0  
  35. 11/12/08 17:24:13 INFO mapred.JobClient:     SPLIT_RAW_BYTES=150 


`distcp`是Hadoop分布式复制工具,用于在集群中高效地在源和目标目录之间复制大量数据。以下是`distcp`命令的一些关键参数: 1. **-src**: 源目录或文件路径,这是要复制的数据源。例如: `src=hdfs://namenode/path` 2. **-dest**: 目标目录路径,复制完成后数据将放置在这里。例如: `dest=hdfs://namenode/destination/path` 3. **-overwrite**: 如果设置为`true`,则会覆盖目标目录已存在的相同文件。默认为`false`,即默认不覆盖。 4. **-conf**: 配置文件路径,用于指定Hadoop配置。例如: `-conf=/path/to/hadoop-site.xml` 5. **-skipcrccheck**: 忽略校验和检查,加快复制速度。但不建议在生产环境中使用,除非确定数据完整性可以后续验证。 6. **-async**: 异步模式,可以在后台并行执行复制任务。如果设置,`distcp`会返回一个作业ID,你可以使用`hadoop distcp check`或`hadoop distcp status`来跟踪进度。 7. **-delete**: 删除目标路径中源路径不存在的文件,与`overwrite`类似,但仅删除空目录。 8. **-fs**: 指定要使用的文件系统类型(如HDFS)。如果未提供,默认使用Hadoop的默认文件系统。 9. **-D**: 提供Hadoop配置项,如同在命令行中设置环境变量一样。 示例命令: ```sh hadoop distcp -src hdfs://source/path -dest hdfs://destination/path -overwrite ``` 执行前,请确保你的Hadoop环境已经配置好,并且对目标目录有足够的权限。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值