废话不多说,直接上笔记,先来看下参考链接GitHub: https://github.com/alibaba/DataX。此链接有较详细的安装使用方法,还有json参数编写的文档说明,建议多看。

First,从上面的参考链接中下载datax,解压完成后datax/bin目录中就有了现成的可执行文件。但是还不能直接用,因为运行依赖于其他软件,所以下面来看看运行要求和安装步骤:

datax运行环境要求

Linux
JDK(1.8以上,推荐1.8)
Python(推荐Python2.6.X)
Apache Maven 3.x (Compile DataX)

所以第一步我们先要安装上面这些软件。

安装步骤

安装JDK

参考链接:https://www.cnblogs.com/xuliangxing/p/7066913.html

1、从官网下载系统对应JDK安装包。

  过期示例:wget http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gz (下载前可能会提示你让你Accept License Agreement,点击同意就好)

  截至2020/3/4,官网已经改成“要求登陆”后才能下载,不过新增了RPM资源包,如果选择rpm包,下载完成后直接执行如下命令即可进行安装(跳过2、3、4步骤)

rpm -iv jdk-8u241-linux-x64.rpm 

2、解压

  tar -zxvf jdk-8u171-linux-x64.tar.gz (免编译安装)

3、修改环境变量

  vim /etc/profile

  用vim编辑器来编辑profile文件,在文件末尾添加以下内容:

export JAVA_HOME=${你的解压路径}/jdk1.8.0_171
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH} ###(与windows类似多个系统变量需要用符号分隔;只不过这里用":", 而win用";")

  保存退出。

4、重新执行修改后的配置,使配置生效

  source /etc/profile

5、测试安装结果

  java -version

  javac

  以上两个命令都能正确输出提示才是成功安装。

安装Python

  我的机器上已经自带了Python2.6.6,而且很多的unix机器也都带有Python,此处略过。如果没有的或版本不够的请自行安装升级。

安装Apache Maven 3.x

1、从官网下载系统对应压缩包(注意:Binary tar包适用于unix系统;Source tar包适用于windows系统)

2、安装 - 官方参考文档

  官网下载的包也是免编译安装的,只要配置环境变量就行。这里我只翻译unix系统下的设置方法,window类似。

-------------------------------------------------------------------------------------------------------------------------------------------

Unix-based Operating System (Linux, Solaris and Mac OS X) Tips

  • Check environment variable value
echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
  • Adding to PATH
export PATH=/opt/apache-maven-3.5.3/bin:$PATH

----------------------------------------------------------------------------------------------------------------------------------------------

  第一步检查环境。没啥用,因为咱们在前面的步骤已经安装过jdk了。

  第二步将apache-maven的执行文件路径加入到系统环境变量中,以便全局调用。操作方法参考安装jdk的第四、五步

最后附上我的配置

以上是个人总结的安装步骤, 下面进入datax的使用介绍。

datax的使用方法简单

python {用户目录}/datax/bin/datax.py ./stream2stream.json

即可。

难的是如何配置json文件。在https://github.com/alibaba/DataX网页中“Support Data Channels”板块有各个数据库的读、写的json参数编写说明,请多加阅读,只有多各个参数的解释有了一定理解才能配制出符合业务场景的json。

json主要有两个配置参数:content.reader和content.writer,这两个的配置决定了读、写数据库的所有配置,余下的属于连接设置。文档中参数说明理解起来稍微有点费劲,在编写json过程中需要注意几点,我以截图划重点方式展示:

下面附上我的测试配置和建表DDL

SQL server 测试表:

CREATE TABLE [dbo].[Table_ysb] (
[dpdm] nvarchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[dpmc] nvarchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[bmdm] nvarchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[bmmc] nvarchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL
)
ON [PRIMARY]

Mysql 测试表:

CREATE TABLE `table_ysb` (
`dpdm` varchar(50) NOT NULL,
`dpmc` varchar(50) NOT NULL,
`bmdm` varchar(50) NOT NULL,
`bmmc` varchar(50) NOT NULL,
`txt` varchar(255) DEFAULT NULL,
`flag` tinyint(1) DEFAULT '0',
`total` int(11) DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Table_ysb 和Table_ysb_copy表结构一致,table_ysb和table_ysb2表结构一致。

PS: 注意,writer的connection.jdbcUrl只能配置一个,而reader允许多个,且必须[]起来。

阿里巴巴离线数据同步工具/平台datax安装、使用笔记的更多相关文章

  1. Spark记录-阿里巴巴开源工具DataX数据同步工具使用

    1.官网下载 下载地址:https://github.com/alibaba/DataX DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL.Oracle.SqlSe ...

  2. 环境篇:数据同步工具DataX

    环境篇:数据同步工具DataX 1 概述 https://github.com/alibaba/DataX DataX是什么? DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 ...

  3. 数据同步工具Sqoop和DataX

    在日常大数据生产环境中,经常会有集群数据集和关系型数据库互相转换的需求,在需求选择的初期解决问题的方法----数据同步工具就应运而生了.此次我们选择两款生产环境常用的数据同步工具进行讨论 Sqoop ...

  4. Linux实战教学笔记21:Rsync数据同步工具

    第二十一节 Rsync数据同步工具 标签(空格分隔): Linux实战教学笔记-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载,转载 ...

  5. rsync数据同步工具的配置

    rsync数据同步工具的配置 1. rsync介绍 1.1.什么是rsync rsync是一款开源的快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于 unix ...

  6. 【基础】:Rsync数据同步工具

    第二十一节 Rsync数据同步工具 1.1 Rsync介绍 1.1.1 什么是Rsync? 1.1.2 Rsync简介 1.3 Rsync的特性 1.1.4 Rsync的企业工作场景说明 1.2 Rs ...

  7. Rsync数据同步工具

                                        Rsync数据同步工具 什么是Rsync? Rsync是一款开源的.快速的.多功能的,可以实现全量及增量的本地或原程数据同步备份 ...

  8. Linux系统——Rsync数据同步工具

    Rsync的优点及缺点 优点:类似cp命令.scp命令,但rsync为增量复制工具 缺点:针对大文件,效率非常高(打包再比对),针对小文件,效率非常低. Rsync作用 (1)可使本地和远程两台主机之 ...

  9. Linux系统备份还原工具4(rsync/远程数据同步工具)

    rsync即是能备份系统也是数据同步的工具. 在Jenkins上可以使用rsync结合SSH的免密登录做数据同步和分发.这样一来可以达到部署全命令化,不需要依赖任何插件去实现. 命令参考:http:/ ...

随机推荐

  1. Storm分布式集群搭建

    一.storm版本 选用storm0.9.6 二.本地模式 用于对storm业务逻辑的调试和测试,可以直接在本地运行. 三.分布式模式 生产环境,需要对应的zookeeper.nimbus.super ...

  2. linux--基础知识4

    #当前已什么用户登陆,创建的目录或文件,他的属组和主就是谁 #用户对目录拥有的几种权限 # ll -d查看目录当前权限信息 #r:可以查看该目录下的子文件名,子目录 #w:可以在该目录下创建,删除,重 ...

  3. Codeforces Round #421 (Div. 2) - B

    题目链接:http://codeforces.com/contest/820/problem/B 题意:给定一个正n边形,然后让你选择3个不同的顶点,使得这3个顶点形成的角度尽可能的接近a. 思路:首 ...

  4. 【改】shell 判断文件中有无特定子串方法(grep)

    转自:https://blog.csdn.net/zhuguiqin1/article/details/79160923 利用grep执行的命令结束代码$?的值来判断是否已经grep到特定的值. 当$ ...

  5. ELK windows下部署测试

    操作系统 win7 (当时想在linux下部署,虚拟内存过小,转而在windows下) 版本说明 elasticsearch-6.6.2  (elasticsearch-head-master插件) ...

  6. RMQ Terminology

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11784644.html RMQ模型架构 RMQ Terminology Message 消息,消息是不 ...

  7. 【leetcode】1034. Coloring A Border

    题目如下: Given a 2-dimensional grid of integers, each value in the grid represents the color of the gri ...

  8. python 3.6连接数据库(pymysql方式)

    pymysql 模块可以通过 pip 安装.但如果你使用的是 pycharm IDE,则可以使用 project python 安装第三方模块. [File] >> [settings] ...

  9. 【2019 Multi-University Training Contest 5】

    01: 02:https://www.cnblogs.com/myx12345/p/11649221.html 03: 04:https://www.cnblogs.com/myx12345/p/11 ...

  10. GIS矢量大数据采集

    1.使用什么工具采集 2.在哪个网站采集 3.采集哪一种数据 >>地理大数据公众号 >>大数据公众号 >>智能数据湖公众号 点.线.面.体 可视化 >> ...