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 文件中设置 。默认一个 TaskGroup 的并发数量为 5(channel)。


