一、DataX(3.0)地址:https://github.com/alibaba/DataXjava
官方提供的配置需求:本例使用了JDK1.8 Python使用了CentOS預裝的版本。python
System Requirements: Linux、Windows JDK(1.6以上,推薦1.6) Python(推薦Python2.6.X) Apache Maven 3.x (Compile DataX)
二、配置Mavenmysql
本文使用apache-maven-3.3.9版本git
安裝過程:解壓maven的tar包,配置環境變量、github
export M3_HOME=/usr/local/apache-maven-3.3.9 export PATH=$PATH:$M3_HOME/bin
在終端中輸入mvn -v 確認是否安裝成功。sql
三、配置gitapache
1)先更新一下開發工具,命令:yum groupinstall "Development Tools"json
2)安裝一些其餘的依賴包:curl
sudo yum install gettext-devel openssl-devel perl-CPAN perl-devel zlib-devel
3)查看git的最新版本:https://github.com/git/git/releasesmaven
運行wget https://Github.com/Git/Git/archive/v2.9.3.tar.gz 下載最新版本。
5)tar xvf v2.3.0.tar.gz 解壓下載的tar包
6)進入git目錄,運行make install 命令
報錯:找不到 curl.h expat.h
運行 yum install curl-devel
yum install expat-devel
安裝相應的開發包。
7)配置SSH Key 用於從github上獲取源碼
教程:http://www.cnblogs.com/bsn-huang/p/3933442.htm
四、獲取datax3.0的源碼
git clone https://github.com/alibaba/DataX
五、配置DataX源碼根目錄中pom.xml
刪除pom.xml中的不須要的reader和writer插件模塊。
本例保留的模塊以下mysqlreader、mysqlwriter、hdfsreader、hdfswriter (streamreader、streamwriter爲運行樣例所需的,建議保留):
<!-- reader --> <module>mysqlreader</module> <module>hdfsreader</module> <module>streamreader</module> <!-- writer --> <module>mysqlwriter</module> <module>hdfswriter</module> <module>streamwriter</module> <!-- some support module --> <module>plugin-rdbms-util</module> <module>plugin-unstructured-storage-util</module>
六、 修改插件模塊文件夾中的pom.xml中版本。
1)mysqlreader和mysqlwriter中的mysql-connector-java的5.1.34能夠保留。
2)本例將hdfsreader和hdfswriter中的hive.version和hadoop.version更換爲此前安裝的2.1.0版本號和2.7.2版本號。
如圖:
七、 打開終端,進入DataX源碼根目錄
(打包官方教程:https://github.com/alibaba/DataX/wiki/compile-datax)
輸入以下命令打包:
mvn -U clean package assembly:assembly -Dmaven.test.skip=true
打包成功結果以下:
八、 可在DataX源碼根目錄下找到target文件夾,其中有打包好的目錄結構與壓縮包。
九、部署:(部署教程:https://github.com/alibaba/DataX/wiki/Quick-Start)
解壓打包好的datax至本地某個目錄,修改權限爲755,進入bin目錄,便可運行樣例同步做業:
$ tar zxvf datax.tar.gz $ sudo chmod -R 755 {YOUR_DATAX_HOME} $ cd {YOUR_DATAX_HOME}/bin $ python datax.py ../job/job.json
運行樣例做業成功結果: