DataX 支持二进制与源码编译两种核心部署方式,并支持集成 DataX-Web 可视化管理平台构建企业级数据同步运维体系。
环境准备
- Linux 操作系统:推荐 CentOS Linux 7.6 及以上。
- JDK:1.8 及其以上版本(推荐 1.8)。
- Python:2 或 3 均可(DataX 原生基于 Python 2.7 开发,使用 Python 3 需修改部分语法)。
- Apache Maven:3.x 版本(仅源码编译安装需要)。
| 主机名 | IP 地址 | 配置 | 系统 | 描述 |
|---|---|---|---|---|
| datax | 192.168.82.133 | 4C 16G | CentOS Linux 7.6 | DataX 执行多任务时消耗内存较大,建议分配充足物理内存 |
注意:DataX 和 DataX-Web 的软件安装目录及相关插件建议存储至规划的数据盘下。
一、二进制、源码方式安装
1.1 二进制方式安装
- 进入 GitHub 官网 DataX 主页下载 Quick Start 安装包。
- 安装 JDK 依赖包。
- 登录 Linux 服务器,解压 DataX 安装包到指定目录。
- 通过 DataX 提供的自测脚本测试启动。
注:DataX 项目本身是用 Python 2.7 开发的,建议使用 Python 2.7 版本执行。
踩坑问题总结
- 问题:执行自检程序报错。
- 解决方案:删除 plugin 目录下所有以
_开头的文件。
1.2 源码方式安装
- 下载 DataX 源码。
- 通过 Maven 打包。成功日志显示后,DataX 包位于
{DataX_source_code_home}/target/datax/datax/。
二、Python 3 支持
若使用 Python 3 执行数据同步计划,需修改 bin 目录下的三个 .py 文件,适配以下核心语法变化:
print xxx替换为print(xxx)。Exception, e替换为Exception as e。
修改后可通过 Python 3 命令测试同步任务启动。
三、DataX 动态传参
同步方案通常为 JSON 格式,其中 channel、password、username 等为静态参数。在增量同步等场景下,可通过动态传参自动调整条件(如时间戳),避免手动修改 JSON 文件。
3.1 动态传参案例
在执行同步方案时使用 -D 指定具体参数值。例如设置参数 TIMES,可动态设置 sliceRecordCount 的值。
四、并发设置
Job 被划分为若干 Task 并发执行,由 TaskGroup 管理。每个 Task 内部结构为 reader -> channel -> writer,channel 数量决定并发度。
4.1 直接指定 channel 数量
在 JSON 文件中设置 job.setting.speed.channel。默认一个 TaskGroup 的并发数量为 5(channel)。
4.2 通过 Bps 计算 channel 数量
- Job Bps:整体限速,设置
job.setting.speed.byte。 - Channel Bps:单通道限速,设置
core.transport.channel.speed.byte。
两者需同时设置,计算公式:channel = Job Bps / Channel Bps。
4.3 通过 tps 计算 channel 数量
- Job tps:整体限速,设置
job.setting.speed.record。 - Channel tps:单通道限速,设置
core.transport.channel.speed.record。
两者需同时设置,计算公式:channel = Job tps / Channel tps。
4.4 优先级说明
若同时配置 Bps 和 tps 限制,以小的为准。只有在 Bps 和 tps 均未配置时,才以 channel 数量配置为准。
五、二进制、源码方式部署 DataX-Web
环境准备
- MySQL (5.5+):必选,用于存储元数据。
- JDK (1.8.0_xxx):必选。
- Maven (3.6.1+):必选。
- DataX:必选。
- Python (2.x):必选(支持 Python 3 需替换
datax/bin下的三个 python 文件)。
5.1 二进制方式安装
- 下载官方提供的 tar 版本包。
- 部署 MySQL 数据库。
- 解压 DataX-Web 包至指定目录(建议与 DataX 同目录)。
- 执行一键安装脚本
./bin/install.sh。- 交互式安装:按提示输入数据库地址、端口、用户名、密码及库名。
- 非交互模式:执行
./bin/install.sh --force。
- 配置邮件服务(可选):修改
/modules/datax-admin/bin/env.properties。 - 指定
PYTHON_PATH路径。 - 启动服务:
- 一键启动:
./bin/start.sh - 单一模块启动:
./bin/start.sh -m {module_name}
- 一键启动:
- 查看服务状态:使用
jps命令检查DataXAdminApplication和DataXExecutorApplication进程。 - 访问系统:浏览器输入
http://ip:port/index.html(默认 port 9527),用户 admin 密码 123456。 - 运行日志:查看
modules/对应的项目/data/applogs目录。
5.2 编译打包安装
从 Git 获取源代码,在项目根目录执行 Maven 编译命令,生成的安装包位于 build 目录下。

