大数据迁移(简单案例)(41 )

大数据迁移:

所谓的大数据迁移就是把某个节点上的数据(或者几个节点上的数据)分别拷贝到不同数据节点上的过程.


就像我在的公司就是这样做的,在CDHhadoop的版本中,一个命令就能完成上面的大数据迁移的所有事情.

例如:

现有的机器:

hadoop1(n1:namenode)

hadoop2(d1:datanode)

hadoop3(d2:datanode)

hadoop4(d3:datanode)

新增的机器:

hadoop5(d4:datanode)

hadoop6(d5:datanode)

hadoop7(d6:datanode)

这里我们要把现有的机器某台机器(这里机器名:hadoop2,因为这几台机器的数据是一样的)上的数据分别拷贝到新增的机器中(hadoop5,hadoop6,hadoop7)中.

举例:

现有的机器hadoop1中的数据文件(单位:byte):

199884219068  /hive/warehouse/data1

135503186196  /hive/warehouse/data2

146310003399  /hive/warehouse/data3

456891836274  /hive/warehouse/data4

123959449467  /hive/warehouse/data5

数据迁移:

hadoop distcp hdfs://hadoop1:8020$dir hdfs://hadoop5:8020/hive/warehouse/

注意:这里为什么我只拷贝到hadoop5中呐?是因为distcp这个命令会自动把数据拷贝到新增的不同机器上.

自己总结:(在拷贝过程中,如果数据文件名称已经存在,则distcp命令不会覆盖原有文件,就会跳过该文件的拷贝.)


在这里我写了一个简单的脚本(distcp.sh),来进行数据迁移,脚本内容如下:

#!/bin/bash

load_src=('/hive/warehouse/data1' '/hive/warehouse/data2' '/hive/warehouse/data3' '/hive/warehouse/data4' '/hive/warehouse/data5')

for src in "${load_src[@]}"

do

hadoop distcp hdfs://hadoop1:8020$src hdfs://hadoop5:8020/hive/warehouse/ >>/hadoop_tmp/log/distcp.log 2>>&1

done

注意:在运行脚本中的时候,要关注一下hadoop集群状况,以免数据量太大,导致集群宕机.还有日志(/hadoop_tmp/log/distcp.log)

可以用一下命令查看集群状况:

查看集群使用状况或其他信息:

hadoop dfsadmin -report

查看各个节点的状态(status):

查看JobTracker(status)

hadoop mrhaadmin -getServiceState jt1

查看NameNode(status)

hdfs haadmin -getServiceState nn1

注意:在写脚本的时候,注意拷贝机器的目录,例如:hdfs://hadoop5:8020/hive/warehouse/这个目录,

    因为在源目录中,比如想拷贝某个文件夹下的名称,就要想对应的在目标目录上填上这个目录,不然就只会拷贝在/hive/warehouse/中.

 

举例:

hadoop2下的/hive/warehouse/data1是一个文件夹,我想拷贝下面的文件file1.

distcp1.sh脚本内容:

#!/bin/bash

load_src=('/hive/warehouse/data1/file1' '/hive/warehouse/data1/file2')

for src in "${load_src[@]}"

do

####截取不同文件夹的名称

tmp_src=${src:16:5}

####截取结果:data1

hadoop distcp hdfs://hadoop1:8020$src hdfs://hadoop5:8020/hive/warehouse/$tmp_src/ >>/hadoop_tmp/log/distcp.log 2>>&1

done

注意:还是注意查看集群状态,还有日志(/hadoop_tmp/log/distcp.log).


                                                                                                                                Name:Xr

                                                                                                                                Date:2014-05-11 21:01

你可能感兴趣的:(大数据迁移(简单案例)(41 ))