Files
aiData/DataX/说明.md
HuangHai f7d55a64dc 'commit'
2026-01-20 13:44:45 +08:00

3.6 KiB
Raw Blame History

DataX 同步部署与使用说明

一、下载与安装 DataX

  1. 下载 DataX 包 官方下载地址:https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202309/datax.tar.gz

  2. 部署到服务器 将压缩包上传并解压到 /usr/local/ 目录:

    cd /usr/local
    tar zxvf datax.tar.gz
    # 解压后应当存在 /usr/local/datax 目录
    

二、配置部署

本方案包含全量同步增量同步两套策略,请按以下步骤部署配置文件和脚本。

  1. 上传文件 请将本地 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    <-- 新增:定时任务安装脚本
    
  2. 赋予执行权限

    cd /usr/local/datax
    chmod +x *.sh
    
  3. 修改数据库密码 (如有需要) 脚本中已配置好默认的数据库连接信息。如需修改,请编辑 run_jobs_full.shrun_jobs_inc.sh 中的 PARAMS 变量:

    PARAMS="-Dsrc_user=... -Dsrc_pwd=... -Ddest_user=... -Ddest_pwd=..."
    

三、运行策略说明

1. 全量同步 (Full Sync)

  • 适用场景:系统初始化,或数据出现严重偏差需要彻底重跑时。
  • 同步逻辑
    1. 执行 TRUNCATE 清空 Doris 目标表。
    2. 从 MySQL 读取全量数据写入 Doris。
  • 手动执行命令
    cd /usr/local/datax
    ./run_jobs_full.sh
    

2. 增量同步 (Incremental Sync)

  • 适用场景:日常持续数据同步(高频)。
  • 同步逻辑
    1. 不删除任何历史数据(无空窗期)。
    2. 读取 MySQL 中 ID 最大的 10000条 记录(覆盖新增和最近更新的数据)。
    3. 推送到 Doris利用 Doris 的 Unique Key 主键模型自动完成“存在即更新,不存在即插入” (Upsert)。
  • 手动执行命令
    cd /usr/local/datax
    ./run_jobs_inc.sh
    

四、自动化定时任务配置

我们提供了一键配置脚本,用于在 Rocky Linux 9 / CentOS 等系统中设置自动调度。

  1. 执行安装脚本

    cd /usr/local/datax
    ./setup_cron.sh
    

    该脚本会自动添加 Crontab 任务,配置为每 10 分钟执行一次增量同步。

  2. 验证与日志

    • 查看任务crontab -l
    • 查看日志:自动同步的日志会保存在 /usr/local/datax/logs/datax_inc_cron.log
    tail -f /usr/local/datax/logs/datax_inc_cron.log
    

五、重要注意事项

  1. Doris 表模型要求 目标 Doris 表必须使用 Unique Key 模型(建表时指定 UNIQUE KEY(id)),否则增量同步会导致大量重复数据。

  2. Python 环境 DataX 依赖 Python 环境(推荐 Python 2.7 或 3.x。脚本默认调用 /usr/bin/python,如果您的 Python 路径不同,请修改脚本头部的 DATAX_PY 变量。