天天看點

一個助Hadoop叢集資料快速上雲工具

越來越多的公司和企業希望将業務遷移到雲上,同時業務資料也希望能更順暢的遷移到雲上。

目前業界有很多公司是以hadoop技術建構資料中心,是以本文将探讨如何快速的将hadoop檔案系統(hdfs)上的資料遷移到雲上。

本文介紹一個從hadoop叢集直接遷移資料到oss上的工具,該工具由阿裡雲e-mapreduce團隊開發,基于hadoop社群中常用的distcp工具,并從e-mapreduce産品中剝離出了一個常見的功能,做成工具開放給全體阿裡雲客戶使用。

0) 環境準備

確定目前機器可以正常通路你的hadoop叢集,也就是說,可以用hadoop指令通路hdfs:

hadoop fs -ls /

1) 下載下傳和安裝:

下載下傳附件中的emr-tools.tar.gz工具,并解壓縮到本地目錄:

tar jxf emr-tools.tar.bz2

2) hdfs資料複制到oss上:

cd emr-tools

./hdfs2oss4emr.sh /path/on/hdfs oss://accesskeyid:[email protected]/path/on/oss

其中accesskeyid和accesskeysecret是你通路阿裡雲api(包括oss等雲産品)的密鑰,bucket-name.oss-cn-hangzhou.aliyuncs.com是oss的通路域名,包括bucket名稱和所在region的endpoint位址。如果參數都正确,則會啟動一個hadoop mapreduce任務(distcp),作業運作完畢之後會列印本次資料遷移的資訊:

17/05/04 22:35:08 info mapreduce.job: job job_1493800598643_0009 completed successfully

17/05/04 22:35:08 info mapreduce.job: counters: 38

copy from /path/on/hdfs to oss://accesskeyid:[email protected]/path/on/oss does succeed !!!

作業完成後,可以用osscmd等工具檢視oss上資料情況:

osscmd ls oss://bucket-name/path/on/oss

3) oss資料複制到hdfs:

同樣的,如果已經在阿裡雲上搭建了hadoop叢集,可以友善的把資料從oss上遷移到新的hadoop叢集

./hdfs2oss4emr.sh oss://accesskeyid:[email protected]/path/on/oss /path/on/new-hdfs

4) 其他說明:

這個工具同時相容hadoop 2.4.x、2.5.x、2.6.x、2.7.x等版本,如果有其他hadoop版本相容性的需求,可以直接聯系我們。

如果你現有叢集已經在阿裡雲上ecs上,但是在經典網絡中,無法和vpc中的服務做很好的互操作,是以想把叢集遷移到vpc中。此時,你可以先用本工具遷移資料到oss上,然後需在vpc環境中建立一個叢集(自建或使用e-mapreduce服務),再将資料從oss上遷移到新的hdfs叢集中。

繼續閱讀