跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Javajava

DataX 二进制与源码部署及 DataX-Web 可视化平台搭建

DataX 支持二进制与源码编译两种部署模式,需配置 JDK、Python 及 Maven 环境。文章详解了 Python 2 至 3 的语法适配、动态传参方法(-D 参数)、并发度控制策略(channel/Bps/Tps)。同时涵盖 DataX-Web 可视化管控平台的安装流程,包括 MySQL 初始化、一键脚本部署、环境变量配置及服务启停操作,构建企业级数据同步运维体系。

竹影清风发布于 2026/4/5更新于 2026/9/453 浏览
DataX 二进制与源码部署及 DataX-Web 可视化平台搭建

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 地址配置系统描述
datax192.168.82.1334C 16GCentOS Linux 7.6DataX 执行多任务时消耗内存较大,建议分配充足物理内存

注意:DataX 和 DataX-Web 的软件安装目录及相关插件建议存储至规划的数据盘下。

一、二进制、源码方式安装

1.1 二进制方式安装
  1. 进入 GitHub 官网 DataX 主页下载 Quick Start 安装包。
  2. 安装 JDK 依赖包。
  3. 登录 Linux 服务器,解压 DataX 安装包到指定目录。
  4. 通过 DataX 提供的自测脚本测试启动。

注:DataX 项目本身是用 Python 2.7 开发的,建议使用 Python 2.7 版本执行。

踩坑问题总结

  • 问题:执行自检程序报错。
  • 解决方案:删除 plugin 目录下所有以 _ 开头的文件。
1.2 源码方式安装
  1. 下载 DataX 源码。
  2. 通过 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 二进制方式安装
  1. 下载官方提供的 tar 版本包。
  2. 部署 MySQL 数据库。
  3. 解压 DataX-Web 包至指定目录(建议与 DataX 同目录)。
  4. 执行一键安装脚本 ./bin/install.sh。
    • 交互式安装:按提示输入数据库地址、端口、用户名、密码及库名。
    • 非交互模式:执行 ./bin/install.sh --force。
  5. 配置邮件服务(可选):修改 /modules/datax-admin/bin/env.properties。
  6. 指定 PYTHON_PATH 路径。
  7. 启动服务:
    • 一键启动:./bin/start.sh
    • 单一模块启动:./bin/start.sh -m {module_name}
  8. 查看服务状态:使用 jps 命令检查 DataXAdminApplication 和 DataXExecutorApplication 进程。
  9. 访问系统:浏览器输入 http://ip:port/index.html(默认 port 9527),用户 admin 密码 123456。
  10. 运行日志:查看 modules/对应的项目/data/applogs 目录。
5.2 编译打包安装

从 Git 获取源代码,在项目根目录执行 Maven 编译命令,生成的安装包位于 build 目录下。

目录

  1. 环境准备
  2. 一、二进制、源码方式安装
  3. 1.1 二进制方式安装
  4. 1.2 源码方式安装
  5. 二、Python 3 支持
  6. 三、DataX 动态传参
  7. 3.1 动态传参案例
  8. 四、并发设置
  9. 4.1 直接指定 channel 数量
  10. 4.2 通过 Bps 计算 channel 数量
  11. 4.3 通过 tps 计算 channel 数量
  12. 4.4 优先级说明
  13. 五、二进制、源码方式部署 DataX-Web
  14. 环境准备
  15. 5.1 二进制方式安装
  16. 5.2 编译打包安装

更多推荐文章

查看全部
  • 前端数据库 IndexedDB 详解:构建离线 Web 应用
  • 鸿蒙(HarmonyOS)应用开发学习路线图与核心资料指南
  • WorkBuddy 7 种即时通讯渠道接入配置指南
  • OpenClaw 本地部署与 AI Agent 实战指南
  • AirSim 无人机仿真入门:实现起飞与降落
  • Deepfake 检测预处理:cv_resnet50_face-reconstruction 实战集成指南
  • Jenkins 和 GitLab CI 该怎么选
  • 利用 frontend-design Skill 提升大模型前端设计审美
  • Vitis 使用教程:从零实现 AI 模型 FPGA 部署
  • Docker 安装部署全流程使用指南(Linux 通用版)
  • Arch Linux 使用 KDE Plasma 复刻 macOS 桌面风格指南
  • C++ 虚函数与纯虚函数:从接口设计到虚析构陷阱
  • Linux 基础命令与 Java 项目部署实战
  • 开源大模型涨价策略分析:Llama 3.5 与 GLM-5 商业化博弈
  • 双指针算法详解与经典题目实战
  • 基于自然语言交互的 AI 爬虫工具实战解析
  • 《Agent Runtime 工程化》第十章 Eval Harness 与 CI 回归
  • Photoshop AI 插件使用指南:ComfyUI 与 Stable Diffusion 集成
  • ionet 框架:Java 方法即 Action 的零学习成本之道
  • 基于深度学习的无人机航拍小目标检测算法研究

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online