Hadoop的數據遷移


主要的命令:DistCp

官方有明確的解釋:http://hadoop.apache.org/docs/r1.0.4/cn/distcp.html

概述:

DistCp(分布式拷貝)是用於大規模集群內部和集群之間拷貝的工具。 它使用Map/Reduce實現文件分發,錯誤處理和恢復,以及報告生成。 它把文件和目錄的列表作為map任務的輸入,每個任務會完成源列表中部分文件的拷貝。 由於使用了Map/Reduce方法,這個工具在語義和執行上都會有特殊的地方。 這篇文檔會為常用DistCp操作提供指南並闡述它的工作模型。

使用方法:

DistCp最常用在集群之間的拷貝:

  hadoop  distcp   hdfs://nn1:8020/foo/bar      hdfs://nn2:8020/bar/foo

這條命令會把nn1集群的/foo/bar目錄下的所有文件或目錄名展開並存儲到一個臨時文件中,這些文件內容的拷貝工作被分配給多個map任務, 然后每個TaskTracker分別執行從nn1到nn2的拷貝操作。注意DistCp使用絕對路徑進行操作。

 

 

 同步的命令:

hadoop distcp -pc -m  40 hdfs://xx.xx.xx.00:8020/user/hive/warehouse/test.db/table_name/    hdfs://xx.xx.xx.01:8020/user/hive/warehouse/test.db/table_name

(在目標主機上執行)

 

在hive中進行修復表分區
msck REPAIR TABLE table_name;


在impala中修復元數據
INVALIDATE METADATA  table_name;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM