大數據遷移(簡單案例)(41 )

大數據遷移:node

所謂的大數據遷移就是把某個節點上的數據(或者幾個節點上的數據)分別拷貝到不一樣數據節點上的過程.bash


就像我在的公司就是這樣作的,在CDHhadoop的版本中,一個命令就能完成上面的大數據遷移的全部事情.tcp

例如:oop

現有的機器:大數據

hadoop1(n1:namenode)spa

hadoop2(d1:datanode)日誌

hadoop3(d2:datanode)hadoop

hadoop4(d3:datanode)get

新增的機器:it

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

相關文章
相關標籤/搜索