一、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
运行样例做业成功结果: