简介
随着业务量的上升,以前的架构已经不满足业务的发展,数据作为业务中最重要的一环,需要有更好的架构作为支撑。目前我司有sql server转mysql的需求,所以结合当前业务,我挑选了阿里云开源的一个很好用的同步工具DataX
DataX介绍
DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、MaxCompute(原ODPS)、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。
框架设计
datax_framework_new
DataX本身作为离线数据同步框架,采用Framework + plugin架构构建。将数据源读取和写入抽象成为Reader/Writer插件,纳入到整个同步框架中。
Reader:Reader为数据采集模块,负责采集数据源的数据,将数据发送给Framework。
Writer: Writer为数据写入模块,负责不断向Framework取数据,并将数据写入到目的端。
Framework:Framework用于连接reader和writer,作为两者的数据传输通道,并处理缓冲,流控,并发,数据转换等核心技术问题。
实战
下载安装部署
$wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
$tar zxvf datax.tar.gz
$sudo chmod -R 755 {YOUR_DATAX_HOME}
也可以自己下载源码安装,不过需要安装maven
$git clone git@github.com:alibaba/DataX.git
$cd {DataX_source_code_home}
$mvn -U clean package assembly:assembly -Dmaven.test.skip=true
打包成功后的DataX包位于 {DataX_source_code_home}/target/datax/datax/ ,结构如下:
$cd {DataX_source_code_home}
$ls ./target/datax/datax/
bin conf jo