文章目录
-
- [第六章 DataX-Web](#第六章 DataX-Web)
-
- [6.1. datax-web介绍](#6.1. datax-web介绍)
-
- [6.1.1. datax-web是什么](#6.1.1. datax-web是什么)
- [6.1.2. datax-web架构](#6.1.2. datax-web架构)
- [6.2. datax-web安装部署](#6.2. datax-web安装部署)
- [6.3. datax-web任务部署](#6.3. datax-web任务部署)
-
- [6.3.1. 创建项目](#6.3.1. 创建项目)
- [6.3.2. 执行器管理](#6.3.2. 执行器管理)
- [6.3.3. 创建数据源](#6.3.3. 创建数据源)
-
- [6.3.3.1. mysql数据源](#6.3.3.1. mysql数据源)
- [6.3.3.2. hive数据源](#6.3.3.2. hive数据源)
- [6.3.4. 创建任务模板](#6.3.4. 创建任务模板)
- [6.3.5. 任务创建](#6.3.5. 任务创建)
-
- [6.3.5.1. 构建reader](#6.3.5.1. 构建reader)
- [6.3.5.2. 构建writer](#6.3.5.2. 构建writer)
- [6.3.5.3. 设置字段映射](#6.3.5.3. 设置字段映射)
- [6.3.5.4. 构建](#6.3.5.4. 构建)
- [6.3.6. 批量任务创建](#6.3.6. 批量任务创建)
-
- [6.3.6.1. 构建reader](#6.3.6.1. 构建reader)
- [6.3.6.2. 构建writer](#6.3.6.2. 构建writer)
- [6.3.6.3. 字段映射](#6.3.6.3. 字段映射)
- [6.4. datax-web任务管理](#6.4. datax-web任务管理)
第六章 DataX-Web
6.1. datax-web介绍
6.1.1. datax-web是什么
datax-web是一个在DataX之上开发的分布式数据同步工具,提供简单易用的操作界面,降低用户使用DataX的学习成本,缩短任务配置时间,避免配置过程中出错。用户可以通过页面选择数据源,即可创建数据同步任务。支持RDBMS、Hive、HBase、ClickHouse、MongoDB等数据源。RDBMS数据源可以批量创建数据同步任务,支持实时查看数据同步进度及日志,并提供终止同步功能,集成并二次开发xxl-job,可根据时间、自增主键增量同步数据。
任务"执行器"支持集群部署,支持执行器多节点路由策略选择,支持超时控制、失败重试、失败告警、任务依赖,执行器CPU、内存、负载的监控等等。
6.1.2. datax-web架构

6.2. datax-web安装部署
6.2.1. 环境要求
环境 | 要求 |
---|---|
操作系统 | mac、Windows、Linux |
Java | Java8,jdk的版本建议在1.8.201以上 |
Python | 如果没有替换DataX的bin目录下的Python文件:Python 2.7 如果替换了DataX的bin目录下的Python文件:Python 3 |
MySQL | MySQL 5.7+ |
Maven | Apache Maven 3.6.1+,编译安装包需要 |
DataX | DataX 3 |
6.2.2. 安装
二进制安装
直接将安装包下载下来,解压安装到指定的路径即可
shell
tar -zxvf datax-web-2.1.2.tar.gz -C /usr/local
编译打包
目的是为了编译生成安装包文件
- 将
datax-web
解压到任意目录下,并使用cd
命令进入到这个目录。 - 使用
mvn clean install
使用Maven下载依赖的包,并编译打包文件。 - 完成之后,将会在源码包的
build
目录下生成datax-web-2.1.2.tar.gz
文件。 - 解压到
/usr/local
目录下。
6.2.3. 部署
解压安装包
解压 data-web
的安装包,如果上面已经解压过了,跳过
shell
tar -zxvf datax-web-2.1.2.tar.gz -C /usr/local
执行一键安装的脚本
进入解压后的目录,找到 bin
目录下面的 install.sh
文件,如果选择交互式的安装,则直接执行
./bin/install.sh
在交互式安装模式下,将会对各个模块的package压缩包进行解压以及configure配置脚本的使用,都会请求用户确认,可以根据提示查看是否安装成功,如果没有安装成功,可以重复尝试。
如果不想使用交互模式,跳过确认的过程,可以执行下面的命令进行安装
./bin/install.sh --force
元数据库初始化
datax-web需要将一些元数据信息保存到数据库中,在安装的时候,如果你的服务器上安装有 mysql
命令,在执行脚本安装的过程中,会有重要的提醒:
shell
Scan out mysql command, so begin to initalize the database
Do you want to initalize database with sql: [{INSTALL_PATH}/bin/db/datax-web.sql]? (Y/N)y
Please input the db host(default: 127.0.0.1):
Please input the db port(default: 3306):
Please input the db username(default: root):
Please input the db password(default: ):
Please input the db name(default: exchangis)
安装输入提示数据库地址、端口号、用户名、密码以及数据库名称,大部分情况下即可快速完成初始化。如果服务器上并没有mysql命令,则可以使用 $DATAX_HOME/bin/datax-web.sql
脚本去手动执行,完成后修改相关配置文件即可。
shell
vim /usr/local/datax-web/modules/datax-admin/conf/boopstrap.properties
#Database
#DB_HOST=
#DB_PORT=
#DB_USERNAME=
#DB_PASSWORD=
#DB_DATABASE=
配置
安装完成之后,在项目目录: /modules/datax-admin/bin/env.properties 配置邮件服务(可跳过)
MAIL_USERNAME=""
MAIL_PASSWORD=""
此文件中包括一些默认配置参数,例如:server.port,具体请查看文件。
在项目目录下 /modules/datax-execute/bin/env.properties 指定PYTHON_PATH的路径
vi ./modules/{module_name}/bin/env.properties
### 执行datax的python脚本地址
PYTHON_PATH=
### 保持和datax-admin服务的端口一致;默认是9527,如果没改datax-admin的端口,可以忽略
DATAX_ADMIN_PORT=
此文件中包括一些默认配置参数,例如:executor.port,json.path,data.path等,具体请查看文件。
启动
一键启动所有服务
./bin/start-all.sh
中途可能发生部分模块启动失败或者卡住,可以退出重复执行,如果需要改变某一模块服务端口号,则:
vi ./modules/{module_name}/bin/env.properties
找到SERVER_PORT配置项,改变它的值即可。 当然也可以单一地启动某一模块服务:
./bin/start.sh -m {module_name}
一键取消所有服务
./bin/stop-all.sh
当然也可以单一地停止某一模块服务:
./bin/stop.sh -m {module_name}
查看
在Linux环境下使用JPS命令,查看是否出现DataXAdminApplication和DataXExecutorApplication进程,如果存在这表示项目运行成功
如果项目启动失败,请检查启动日志:modules/datax-admin/bin/console.out或者modules/datax-executor/bin/console.out
WebUI
部署完成后,在浏览器中输入 http://ip:9527/index.html 就可以访问对应的主界面(ip为datax-admin部署所在服务器ip,port为为datax-admin 指定的运行端口)
输入用户名 admin 密码 123456 就可以直接访问系统
6.3. datax-web任务部署
6.3.1. 创建项目

6.3.2. 执行器管理
在这里会列举所有在线的Executor列表

6.3.3. 创建数据源
6.3.3.1. mysql数据源

6.3.3.2. hive数据源
datax-web是通过ThriftServer连接到Hive的。因此需要保证Hive的
hiveserver2
服务是开启的状态。

6.3.4. 创建任务模板

6.3.5. 任务创建
6.3.5.1. 构建reader

6.3.5.2. 构建writer

6.3.5.3. 设置字段映射

6.3.5.4. 构建

6.3.6. 批量任务创建
6.3.6.1. 构建reader

6.3.6.2. 构建writer

6.3.6.3. 字段映射

6.4. datax-web任务管理

