3.6 KiB
3.6 KiB
DataX 同步部署与使用说明
一、下载与安装 DataX
-
下载 DataX 包 官方下载地址:https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202309/datax.tar.gz
-
部署到服务器 将压缩包上传并解压到
/usr/local/目录:cd /usr/local tar zxvf datax.tar.gz # 解压后应当存在 /usr/local/datax 目录
二、配置部署
本方案包含全量同步和增量同步两套策略,请按以下步骤部署配置文件和脚本。
-
上传文件 请将本地
d:\dsWork\aiData\Doc\6、DataX配置\目录下的以下内容上传至服务器/usr/local/datax/根目录下:- 文件夹
json_full/(存放全量JSON配置) - 文件夹
json_inc/(存放增量JSON配置) - 脚本
run_jobs_full.sh - 脚本
run_jobs_inc.sh - 脚本
setup_cron.sh
上传后的服务器目录结构应如下所示:
/usr/local/datax/ ├── bin/ ├── conf/ ├── json_full/ <-- 新增:全量配置目录 ├── json_inc/ <-- 新增:增量配置目录 ├── run_jobs_full.sh <-- 新增:全量执行脚本 ├── run_jobs_inc.sh <-- 新增:增量执行脚本 └── setup_cron.sh <-- 新增:定时任务安装脚本 - 文件夹
-
赋予执行权限
cd /usr/local/datax chmod +x *.sh -
修改数据库密码 (如有需要) 脚本中已配置好默认的数据库连接信息。如需修改,请编辑
run_jobs_full.sh和run_jobs_inc.sh中的PARAMS变量:PARAMS="-Dsrc_user=... -Dsrc_pwd=... -Ddest_user=... -Ddest_pwd=..."
三、运行策略说明
1. 全量同步 (Full Sync)
- 适用场景:系统初始化,或数据出现严重偏差需要彻底重跑时。
- 同步逻辑:
- 执行
TRUNCATE清空 Doris 目标表。 - 从 MySQL 读取全量数据写入 Doris。
- 执行
- 手动执行命令:
cd /usr/local/datax ./run_jobs_full.sh
2. 增量同步 (Incremental Sync)
- 适用场景:日常持续数据同步(高频)。
- 同步逻辑:
- 不删除任何历史数据(无空窗期)。
- 读取 MySQL 中 ID 最大的 10000条 记录(覆盖新增和最近更新的数据)。
- 推送到 Doris,利用 Doris 的 Unique Key 主键模型自动完成“存在即更新,不存在即插入” (Upsert)。
- 手动执行命令:
cd /usr/local/datax ./run_jobs_inc.sh
四、自动化定时任务配置
我们提供了一键配置脚本,用于在 Rocky Linux 9 / CentOS 等系统中设置自动调度。
-
执行安装脚本
cd /usr/local/datax ./setup_cron.sh该脚本会自动添加 Crontab 任务,配置为每 10 分钟执行一次增量同步。
-
验证与日志
- 查看任务:
crontab -l - 查看日志:自动同步的日志会保存在
/usr/local/datax/logs/datax_inc_cron.log
tail -f /usr/local/datax/logs/datax_inc_cron.log - 查看任务:
五、重要注意事项
-
Doris 表模型要求 目标 Doris 表必须使用 Unique Key 模型(建表时指定
UNIQUE KEY(id)),否则增量同步会导致大量重复数据。 -
Python 环境 DataX 依赖 Python 环境(推荐 Python 2.7 或 3.x)。脚本默认调用
/usr/bin/python,如果您的 Python 路径不同,请修改脚本头部的DATAX_PY变量。