distcp使用纪要

本文介绍了使用distcp在相同或不同版本的Hadoop集群间复制数据的方法,包括hadoop distcp命令的用法,以及在不同版本集群间拷贝时使用hftp协议的注意事项。在实际应用中,distcp的磁盘写入速度和网络IO性能有所体现,并对比了distcp与其他数据生成工具的性能。此外,还提及了HDFS版本升级的策略。
摘要由CSDN通过智能技术生成

distcp主要用于在hadoop集群之间拷贝数据。

1,如果haboop版本相同,可以使用如下格式

hadoop distcp hdfs://<hdfs_address:hdfs_port>/src hdfs://<hdfs address:port>/des


2, 如果在不同版本的hadoop集群之间拷贝数据,可以使用如下格式

hadoop distcp -i hftp://<hdfs_address:http_port>>/src hdfs://<hdfs address:port>/des


注意,这个时候,需要在目标集群上运行distcp, -i是忽略错误。

注意hftp和ftp没有什么关系,它是通过http访问hdfs文件系统的协议包装,以支持不同版本之间拷贝数据。它的端口,不是dfs端口,而是http端口。


在我的应用中,一个是hadoop1.0.0集群,一个是cloudera cdh3u0集群,此时需要将hadoop1.0.0里面的数据拷贝到cloudera cdh3u0的hdfs中。因此采用hftp的distcp。


更进一步,如果只是造无逻辑关系的数据,distcp没有只写的teragen或slive快。在我的测试中,teragen和slive的混合写入,磁盘写入速度可以达到300MB/s,网络io可以达到100+MB/s。而distcp,磁盘写入为100MB/s,网络io也达到100+MB/s。


补充一下,如果是升级hdfs的hadoop版本,可以在启动时start-dfs

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值