Hadoop集群間資料拷貝

2021-06-23 06:30:50 字數 1374 閱讀 9764

有時候,我們需要做hadoop集群遷移時,要把大量儲存在hadoop集群上的資料也一併遷移過去。有2種方法可以使用:

1. old hadoop cluster--->old local disks---->transmission---->new local disks----->new hadoop cluster

2. old hadoop cluster---->mapreduce--->new hadoop cluster

很顯然第一種方法很不靠譜,我們採用第二種方式來做。我們使用的hadoop提供的distcp來完成集群間的資料拷貝。

1. 配置

說明:只需要在目標(destination)集群上做如下配置就好了

namenode:

hdfs-site.xml,加入

其它的配置與老的配置一樣。

/etc/hosts,在nn內網配置的上方加入外網的配置。如:

外網ip nn

主機名

內網ip nn主機名

內網ip dn主機名

內網ip dn主機名

datanode:

/etc/hosts,在nn內網配置的上方加入外網的配置。如:

外網ip nn

主機名

內網ip nn主機名

內網ip dn主機名

內網ip dn主機名

2. 重啟

namenode、jobtracker、nadanode

3. 關閉防火牆

命令:server iptables stop

說明:這裡只是為了測試方便,所以將防火牆停止了,實際中應該是要加

iptables

規則的。

4. 執行集群間拷貝命令

hadoop distcp /tmp/lalalala.txt hdfs:// destination 外網ip:9000/tmp/test/lalalala.txt

命令解釋:將老的hadoop上的lalalala.txt(在/tmp目錄下)檔案拷貝到新的集群上,/tmp/test/lalalala.txt。這裡只是拿乙個檔案做了測試,還可以是目錄,更多使用可參看distcp

說明:這裡的destination

外網ip:9000

中的port

一定要與

core-site.xml

中的fs.default.name

配置的port

一致。

Hadoop集群間資料拷貝distcp使用

distcp是hadoop集群間拷貝工具,使用mapreduce的方式,進行大資料在集群的拷貝,不同於簡單的資料copy,distcp會校驗資料,穩定傳輸,最後進行拷貝結果統計,彙總拷貝狀態,如拷貝成功的檔案數 大小等 基本命令 hadoop distcp option src dst 關於dist...

Hadoop集群間資料拷貝distcp使用

distcp是hadoop集群間拷貝工具,使用mapreduce的方式,進行大資料在集群的拷貝,不同於簡單的資料copy,distcp會校驗資料,穩定傳輸,最後進行拷貝結果統計,彙總拷貝狀態,如拷貝成功的檔案數 大小等 基本命令 hadoop distcp option src dst 關於dist...

hadoop 不同集群之間資料拷貝

hadoop不同集群之間資料拷貝,拷貝時兩個集群要用active namenode去拷貝,datanode是不具備拷貝功能的,所以當我們把資料拿到hdfs路徑上時,要去判斷當前集群哪個主節點是active的,所以大致步驟為 資料落到hdfs上 beeline u jdbc hive2 e inser...