1.datax概述:
DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。
为了解决异构数据源同步问题,DataX将复杂的网状的同步链路变成了星型数据链路,DataX作为中间传输载体负责连接各种数据源。当需要接入一个新的数据源的时候,只需要将此数据源对接到DataX,便能跟已有的数据源做到无缝数据同步。
2.datax框架设计
DataX本身作为离线数据同步框架,采用Framework + plugin架构构建。将数据源读取和写入抽象成为Reader/Writer插件,纳入到整个同步框架中。
· Reader:Reader为数据采集模块,负责采集数据源的数据,将数据发送给Framework。
· Writer: Writer为数据写入模块,负责不断向Framework取数据,并将数据写入到目的端。
· Framework:Framework用于连接reader和writer,作为两者的数据传输通道,并处理缓冲,流控,并发,数据转换等核心技术问题。
3.datax插件体系
DataX目前已经有了比较全面的插件体系,主流的RDBMS数据库、NOSQL、大数据计算系统都已经接入,目前支持数据如下图
4.环境需求
Linux
Apache maven 3.x(compile datax)
5.下载datax安装包
网址:https://github.com/alibaba/DataX
6.安装jdk
6.1安装jdk
检查服务器是否已经安装完jdk环境 命令:java -version,
6.2 卸载不符合的jdk
如果安装要求必须是jdk1.8以上,如果不是需要卸载,安装了原生自带的openjdk也要卸载
查看Java版本
rpm -qa | grep java
卸载openjdk
rpm -e --nodeps (+复制的Java版本)
6.3导入上传jdk包,解压
上传路径(没有新建mkdir +目录名称,新建需更改文件权限chomd 777 +文件名) usr/local/java
tar -xvf (+包名)
6.4设置环境变量
vim /etc/profile
末尾添加
#java_home
export JAVA_HOME=/usr/local/java/jdk1.8.0_191
export PATH=$JAVA_HOME/bin:$PATH
export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
保存退出 :wq
重新加载配置文件 source /etc/profile
查看安装情况 java -version javac java 都可以查看
7.安装Python2.7.x环境
服务器输入python 指令 一般服务器会自带2.7.x版本
8.安装maven3.x
输入 mvn -v查看没有的话需要下载安装
下载maven安装包
上传到服务器目录/usr/local/mvn目录下面
上传路径(没有新建mkdir +目录名称,新建需更改文件权限chomd 777 +文件名)
解压tar -zxvf +包名
配置环境变量
vim /etc/profile
export MAVEN_HOME=/usr/local/mvn/maven-3.6
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$MAVEN_HOME/bin:$PATH
重新载入 source /etc/profile
检查 mvn -v
9.安装datax
上传到服务器目录/usr/local/datax目录下面
上传路径(没有新建mkdir +目录名称,新建需更改文件权限chomd 777 +文件名)
解压tar -zxvf +包名
datax解压缩成功了,开始自检,进入datax/bin目录,开始自检python datax.py ../job/job.json