hadoop不同版本的集群数据迁移:distcp

公司以前的hadoop集群是1.X,新到的机器全部安装了CDH5版本的hadoop2.X集群,这就需要把1.X的数据迁移到2.X上。

最笨的办法就是在1.X的机器上hadoop dfs -get ****        scp                 hadoop dfs -put或者hadoop dfs -scp

但是这样很慢,我们有25T的数据,所以需要更快的办法,最后发现原来hadoop有distcp命令,原理是通过mapreduce来转移数据,

其中遇到了一些问题,记录如下:

1. 需要把两个集群的所有节点都互通/etc/hosts文件,大概如下:

10.40.2.41 hz01-cs-app002041
10.40.2.42 hz01-cs-app002042
10.40.2.23 hz01-cs-app002023
10.40.2.24 hz01-cs-app002024
10.40.2.25 hz01-cs-app002025
10.40.2.26 hz01-cs-app002026

(以上是老集群的)
10.40.22.15 hz01-cs-app022015
10.40.22.16 hz01-cs-app022016
10.40.22.17 hz01-cs-app022017
10.40.22.18 hz01-cs-app022018
10.40.22.19 hz01-cs-app022019

(以上是新集群的)

2. 由于版本不同,不能用hdfs协议直接考,需要用http协议。 
即不能用 distcp hdfs://src:50070/foo /user**
而要用 distcp hftp://src:50070/foo /user**

3.  Caused by: java.io.IOException: Check-sum mismatch between hftp://src:50070/foo/yyy.yy and hdfs://dst:54310/foo/xxx.xx 
网上搜了半天,这个问题发生的概率真是太小,几乎没有人问。 
后来终于在cloudera的网站上找到了解决方法: 

引用

— Distcp using MRv2 (YARN) from a CDH3 cluster to a CDH4 cluster may fail with CRC mismatch errors 

Running distcp on a CDH4 YARN cluster with a CDH3 hftp source will fail if the CRC checksum type being used is the CDH4 default (CRC32C). This is because the default checksum type was changed in CDH4 from the CDH3 default of CRC32. 

Bug: HADOOP-8060 
Severity: Medium 
Anticipated Resolution: To be fixed in an upcoming release 
Workaround: You can work around this issue by changing the CRC checksum type on the CDH4 cluster to the CDH3 default, CRC32. To do this set dfs.checksum.type to CRC32 in hdfs-site.xml. 


https://ccp.cloudera.com/display/CDH4DOC/Known+Issues+and+Work+Arounds+in+CDH4 

然后照做,修改hdfs-site.xml,分发集群中,搞定。 

最终的命令为:

hadoop distcp hftp://10.4.2.41:50070/user/hive/warehouse/tables/ufanode_nginx_pv /user/hive/warehouse/tables/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值