datax 及datax-web简单介绍

不羁的心 提交于 2021-01-31 23:39:02

1、datax 介绍安装

1.1 简单介绍

DataX是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。

DataX本身作为离线数据同步框架,采用Framework + plugin架构构建。将数据源读取和写入抽象成为Reader/Writer插件,纳入到整个同步框架中。

  • Reader:Reader为数据采集模块,负责采集数据源的数据,将数据发送给Framework。
  • Writer: Writer为数据写入模块,负责不断向Framework取数据,并将数据写入到目的端。
  • Framework:Framework用于连接reader和writer,作为两者的数据传输通道,并处理缓冲,流控,并发,数据转换等核心技术问题。

DataX3.0六大核心优势:可靠的数据质量监控、丰富的数据转换功能、精准的速度控制、强劲的同步性能、健壮的容错机制、极简的使用体验

1.2 安装环境

  • Linux(windows 实测也可)
  • JDK(1.8以上,推荐1.8)
  • Python(推荐Python2.6.X,2.7 实测也可)
  • Apache Maven 3.x (服务器上也不装、只用来编译datax)

1.3 支持数据库类型

类型 数据源 Reader(读) Writer(写) 文档
RDBMS 关系型数据库 MySQL 读 、写
Oracle 读 、写
SQLServer 读 、写
PostgreSQL 读 、写
DRDS 读 、写
通用RDBMS(支持所有关系型数据库) 读 、写
阿里云数仓数据存储 ODPS 读 、写
ADS
OSS 读 、写
OCS 读 、写
NoSQL数据存储 OTS 读 、写
Hbase0.94 读 、写
Hbase1.1 读 、写
Phoenix4.x 读 、写
Phoenix5.x 读 、写
MongoDB 读 、写
Hive 读 、写
Cassandra 读 、写
无结构化数据存储 TxtFile 读 、写
FTP 读 、写
HDFS 读 、写
Elasticsearch
时间序列数据库 OpenTSDB
TSDB 读 、写

2、datax简单配置

2.1 模板生成

a) 安装jdk、maven、python

b) 上传解压datax 工具包

c) 编译datax(源码安装,非源码安装不需此步)

d) 自检 {YOUR_DATAX_HOME}为服务器datax工具所在路径

e) 模板生成,python datax.py -r {YOUR_READER} -w {YOUR_WRITER},然后将控制台生成的模板,保存为json文件。示例:从stream读取数据并打印到控制台

2.2 参数介绍

2.3 例子一(mysql->oracle)

根据模板编写mysql2oracle.json 具体代码入下

生成job的json配置文件后,执行该job

完成后,控制台会打印出日志。

2.4 例子二(mysql->mongodb)**

根据模板编写mysql2mongo.json具体代码入下

生成job的json配置文件后,执行该job

完成后,控制台会打印出日志。

3、datax 注意事项

  • 配置文件为JSON格式,注意括号的使用及闭合;
  • 必须按照模板提供Key-Value配置,禁止自定义Key值;
  • 针对mysql、oracle reader ,table 可以是单个或多个,但必须保证是该value为集合形式,且表结构一致;
  • 输出日志所在路径为 {your_datax_path}\log\{date}\
  • 注意各类参数的含义及组合使用;
  • 如非本机数据,注意数据库服务的启停状态和相应端口开闭状态;
  • 增量抽取需注意“where”的使用;
  • 出现数据乱码,需注意字符集的配置;
  • Mysql数据库的date、datetime、timestamp 注意转换

如有其他配置的问题,请参考官方文档:https://github.com/alibaba/DataX

4、datax-web 介绍安装

DataX Web是在DataX之上开发的分布式数据同步工具,提供简单易用的 操作界面。

安装要求:

  • Java 8+,maven3+
  • Python2.7(支持Python3需要修改替换datax/bin下面的三个python文件,替换文件在doc/datax-web/datax-python3下)
  • Environment: MacOS, Windows,Linux
  • Database: Mysql5.7+

安装步骤(liunx为例):

1). 下载datax-web安装包 ;

2). 编译打包(官方提供的tar包跳过),

 \$ mvn clean install

执行成功后将会在工程的build目录下生成安装包,build/datax-web-{VERSION}.tar.gz ;

3). 解压build/datax-web-{VERSION}.tar.gz ;

4). 执行一键安装脚本,./bin/install.sh ;

5). 如果你的服务上安装有mysql命令,在执行安装脚本的过程中则会出现以下提醒:

按照提示输入数据库地址,端口号,用户名,密码以及数据库名称,大部分情况下即可快速完成初始化。 如果服务上并没有安装mysql命令,则可以取用目录下/bin/db/datax-web.sql脚本去手动执行,完成后修改相关配置文件 [ /modules/datax-admin/conf/bootstrap.properties]

6). 安装完成之后,在项目目录: /modules/datax-admin/bin/env.properties 配置邮件服务(可跳过), 此文件中包括一些默认配置参数,例如:server.port, python.path等,需按照注释进行配置;另外在/modules/datax-execute/bin/env.properties,也需对PYTHON_PATH进行配置,此项的值为datax.py 所在位置,建议使用绝对路径。

7). 一键启动所有服务:

./bin/start-all.sh 

单一地启动某一模块服务:

./bin/start.sh -m {module_name}

8). 一键取消所有服务:

./bin/stop-all.sh

单一地停止某一模块服务:

./bin/stop.sh -m {module_name}

5、datax-web 简单使用

1)、 登录,启动服务后,打开 http://{应用服务器IP}:{端口号默认为9527/index.html

  • 用户名:admin
  • 密码 :123456

2). 操作流程如下:

6、datax-web 注意事项

  • 该应用要求mysql版本 >= 5.7及以上;
  • 该应用一键部署时会默认生成一条执行器记录,如需新的执行器可自行配置;
  • 任务构建成功后,默认不开启执行调度;
  • 任务一旦生成,再进行编辑需对页面json进行修改,此时需特别注意格式和括号闭合情况;
  • 任务json配置会对数据源密码进行加密;
  • 应用的端口号可以进行修改,注意端口的开闭状态;
  • 初次进入图形化界面,需先配置datax执行器,建议手工配置,注册节点为[ip]:[port],如本机默认为127.0.0.1:9999。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!