DataMover Docker 快速部署教程:从安装到创建第一个同步任务
本文记录 DataMover Docker 部署和第一个普通同步任务的配置流程,包括服务启动、控制台登录、数据源连接、表映射、任务执行和 SQL 校验。
DataMover 可以通过 Docker 方式快速启动 Manager、Worker 和元数据库。部署完成后,用户可在 Web 控制台配置源端、目标端、表映射、字段映射和同步策略,并通过任务详情查看执行状态、执行历史和日志。
本文使用一个小表作为示例,演示从部署到任务校验的完整路径。生产环境迁移前,建议先用测试库完成同样的流程验证。
一、部署前准备
Docker 部署需要服务器已安装 Docker Engine 和 Docker Compose。
| 组件 | 建议版本 |
|---|---|
| Docker Engine | 20.10+ |
| Docker Compose | 2.x+ |
| CPU | 2 核起,建议 4 核以上 |
| 内存 | 4 GB 起,建议 8 GB 以上 |
| 端口 | 8000、8011 默认未被占用 |
如果服务器不能访问公网,可下载 datamover-docker.zip 后按离线部署流程导入镜像。
二、执行 Docker 一键部署
macOS / Linux:
curl -fsSL https://down.datamover.cn/install.sh | bash
Windows PowerShell:
Set-ExecutionPolicy Bypass -Scope Process -Force; irm https://down.datamover.cn/install.ps1 | iex
脚本会自动下载部署包、拉取镜像、创建容器并启动服务。首次启动需要等待 MySQL 初始化和系统建表,通常需要 3-5 分钟。
部署完成后访问:
http://服务器IP:8000
本机部署可以访问:
http://localhost:8000
默认账号:
| 项目 | 默认值 |
|---|---|
| 用户名 | admin |
| 密码 | admin123 |
详细部署参数和离线部署步骤见官方文档:Docker 部署。
三、准备示例源表
首次配置建议使用测试库和小表,先验证连接、权限、字段映射和目标端写入。
示例表:
CREATE TABLE dm_demo_user (
id BIGINT PRIMARY KEY,
username VARCHAR(64),
phone VARCHAR(32),
updated_at TIMESTAMP
);
INSERT INTO dm_demo_user (id, username, phone, updated_at) VALUES
(1, 'alice', '13800000001', CURRENT_TIMESTAMP),
(2, 'bob', '13800000002', CURRENT_TIMESTAMP),
(3, 'carol', '13800000003', CURRENT_TIMESTAMP);
源端账号需要读取表结构和读取数据。目标端账号需要建表、写入和更新数据。正式环境建议创建专用同步账号,并按最小权限授权。
四、添加源端和目标端数据源
登录控制台后,进入 数据源 页面,点击 新增。
源端数据源常见配置项:
| 配置项 | 说明 |
|---|---|
| 数据源名称 | 例如 mysql_source_demo |
| 数据源类型 | 选择实际数据库类型 |
| 连接地址 / 端口 | 数据库服务地址和端口 |
| 数据库名 | 要读取的库或 schema |
| 用户名 / 密码 | 源端同步账号 |
| 数据源角色 | 选择源端,或源端和目的端 |
填写后点击 测试连接。测试通过后保存。
再按同样方式添加目标端数据源。目标端需要重点确认写入权限、建表权限、字符集和字段长度,避免任务启动后在写入阶段失败。
五、创建普通同步任务
进入 任务管理,点击 新建任务。
任务基础配置:
- 填写任务名称。
- 任务类型选择 普通任务。
- 选择源端数据源。
- 选择目标端数据源。
- 点击 下一步 进入表映射。
表映射配置:
- 在左侧源端树选择要同步的表。
- 选择或填写目标表名。
- 检查字段映射是否自动匹配。
- 字段名或字段类型不一致时,手动调整目标字段。
- 保存表映射。
- 根据需要配置同步策略和调度规则。
- 点击完成。
普通任务适合全量迁移、周期同步和基于字段的增量同步。需要捕获插入、更新、删除事件时,再配置实时任务。
六、启动任务并查看执行结果
回到任务列表或任务详情页,点击 启动,选择在线 Worker 节点。
启动后重点查看:
| 位置 | 检查内容 |
|---|---|
| 任务状态 | 执行中、成功或失败 |
| 采集/输出行数 | 读取行数和写入行数是否符合预期 |
| 执行历史 | 每次执行的开始时间、结束时间和错误信息 |
| 日志 | 失败时下载 Worker 日志定位原因 |
常见失败原因包括字段长度不够、目标端缺少权限、字符集不一致、时间字段格式异常、网络不通或目标表结构不匹配。
七、用 SQL 校验目标库
任务成功后,建议对目标库做基础校验。
行数校验:
SELECT COUNT(*) FROM dm_demo_user;
主键范围校验:
SELECT MIN(id), MAX(id) FROM dm_demo_user;
抽样校验:
SELECT id, username, phone, updated_at
FROM dm_demo_user
ORDER BY id
LIMIT 10;
正式迁移还应检查时间字段、金额字段、枚举字段、长文本字段、空值和特殊字符。
八、CDC 实时任务的前置条件
CDC 任务依赖源库日志能力。创建实时任务前,先确认源端数据库配置。
| 源端 | 常见前置条件 |
|---|---|
| MySQL | 开启 binlog |
| PostgreSQL | 开启 WAL 逻辑复制 |
| SQL Server | 开启 CDC |
| Oracle | 开启 LogMiner 相关配置 |
| 达梦 | 按数据库版本配置日志捕获能力 |
实时任务上线前,还需要确认快照策略、是否同步删除事件、目标表主键、失败重跑方式和数据校验口径。
相关入口
- 下载入口:DataMover 下载中心
- 快速开始:三分钟构建第一个任务
- Docker 部署:Docker 部署指南
- 任务排查:常见问题-任务执行
相关同步方案
除了DataMover Docker 快速部署,DataMover还支持以下场景:
常见问题解答
DataMover Docker 部署需要什么环境?
需要 Docker Engine 20.10+ 和 Docker Compose 2.x+。部署脚本会自动下载部署包并启动 Manager、Worker 和元数据库。
Docker 部署后如何创建同步任务?
登录 Web 控制台后,依次添加源端数据源、目标端数据源,新建普通任务,选择源表,保存字段映射,启动任务并查看执行结果。
普通任务和 CDC 任务如何选择?
普通任务适合全量迁移、周期同步和基于字段的增量同步;需要捕获插入、更新、删除事件并降低延迟时,再配置 CDC 任务。
任务执行成功后还需要校验吗?
需要。建议至少用行数、主键范围和抽样 SQL 校验目标库,正式迁移还要检查时间、金额、枚举、空值和长文本字段。
开始配置 DataMover 同步任务
下载 DataMover 后,可按文档完成数据源、表映射、同步策略、任务启动和执行结果校验。