# 常见问题汇总(FAQ)
📚 温馨提示: 据用户反馈统计,95% 的使用问题都能通过认真阅读文档得到解决。我们建议您在联系客服前,先查阅相关操作指南、配置说明或本 FAQ。这不仅能更快定位问题,还能帮助您更深入地掌握 DataMover 的强大能力。
阅读即赋能,理解即掌控。祝您使用愉快,数据流转如丝般顺滑!✨
- 📞 客服电话:18032410846
- 💬 微信客服:扫描官网二维码添加
- 📧 邮箱:service@datamover.cm
# 安装部署类
# 1. DataMover 是免费的吗?
是的!DataMover 提供永久免费版,适用于轻量级数据同步、迁移、上报等场景。免费版已包含核心功能,可满足大多数中小项目需求。
# 2. DataMover 是否提供Docker镜像?
DataMover暂未提供Docker镜像。DataMover绑定机器码进行授权,Docker无法固定实例,因此暂未发布Docker镜像。
# 3. DataMover的安装包tar.gz和zip有什么区别
解压后的文件没有任何区别,建议选择自己熟悉的压缩包使用。通常建议linux部署下载tar.gz包,windows部署下载zip包。
# 4. 执行完 install.sh 后,无法访问 https://localhost:8000
请按以下步骤排查:
确认服务是否已正常启动
运行以下命令查看管理端和工作节点的日志:
tail -300f /home/datamover/manager/logs/manager.log tail -300f /home/datamover/worker/logs/worker.log- 如果日志中出现 ERROR 或 Exception,请根据具体错误信息进一步排查(如数据库连接失败、端口冲突等)。
- 如果日志末尾显示类似
Started Application in X seconds或Server started on port 8000,说明服务已正常启动。
检查服务器防火墙设置
即使服务已启动,若服务器启用了防火墙(如
firewalld、ufw或云平台安全组),8000 端口可能未开放。- 本地测试:可先在服务器本机执行
curl -k https://localhost:8000验证服务是否响应。 - 远程访问请确保:
- Linux 防火墙放行 8000 端口(例如:
firewall-cmd --add-port=8000/tcp --permanent) - 云服务器(如阿里云、腾讯云)的安全组规则允许入方向 8000 端口
- Linux 防火墙放行 8000 端口(例如:
- 本地测试:可先在服务器本机执行
# 5. 数据库连接失败
查看manager.log日志,若发现类似,错误日志时,可以使用数据库客户端工具,验证账号是否可以正常连接数据库。确认数据库连接信息、权限无误后,重新安装manager和worker。
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
ERROR 2026-01-07 13:12:26.278 [Druid-ConnectionPool-Create-1598068850] DruidDataSource.run(2916): create connection SQLException, url: jdbc:mysql://127.0.0.1:3306/datamover1?serverTimezone=SERVER&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai, errorCode 1045, state 28000
java.sql.SQLException: Access denied for user 'datamover2'@'127.0.0.1' (using password: YES)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-j-8.0.31.jar:8.0.31]
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-j-8.0.31.jar:8.0.31]
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:828) ~[mysql-connector-j-8.0.31.jar:8.0.31]
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:448) ~[mysql-connector-j-8.0.31.jar:8.0.31]
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) ~[mysql-connector-j-8.0.31.jar:8.0.31]
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198) ~[mysql-connector-j-8.0.31.jar:8.0.31]
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1682) ~[druid-1.2.23.jar:?]
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1803) ~[druid-1.2.23.jar:?]
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2914) ~[druid-1.2.23.jar:?]
# 6. 端口被占用
DataMover默认使用8000和8011端口,若看到类似的日志,请确认下端口是否被占用。
INFO 2026-01-07 08:20:57.131 [main] org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener.logMessage(136):
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
ERROR 2026-01-07 08:20:57.267 [main] org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter.report(40):
***************************
APPLICATION FAILED TO START
***************************
Description:
Web server failed to start. Port 8011 was already in use.
Action:
Identify and stop the process that's listening on port 8011 or configure this application to listen on another port.
需要修改默认端口,可以修改manager或者worker的conf目录中的application.properties文件
server.port=8000
指定未被占用的端口,执行bin目录中的stop.sh和start.sh启动项目。
# 7. 无在线节点
安装完成DataMover,正常登录创建数据源,点击测试连接提示:
验证数据源连接失败!xxx连接失败,xxx连接异常,无可用节点,请去节点管理页面检查是否有在线节点
这种原因主要为worker没有在manager成功注册,先打开节点管理页面查看是否有执行引擎上线。
查看worker日志,根据日志解决问题。
tail -300f /home/datamover/worker/logs/worker.log
常见原因1:端口被占用,没有启动成功。
常见原因2:数据库连接信息配置错误。
修复后,执行worker/bin目录中的start.sh。片刻后在节点管理确认worker是否上线。
# 工具使用类
恭喜你已经完成了DataMover的安装,管理界面和执行引擎都已正常启动,下面是常见的数据同步过程中的问题。
# 1. 实时任务启动失败
DataMover 支持两类任务:
普通任务
- 全量同步:适用于数据量较小的表,可选择“清空目标表后同步”,通常用于每日一次初始化。
- 增量同步:适用于大表,基于增量字段(如自增主键、
create_time或update_time)周期性同步新增/变更数据。
实时任务
基于数据库的 CDC(Change Data Capture)机制,实时捕获源库的 INSERT / UPDATE / DELETE / TRUNCATE 操作,并在目标库重放对应 SQL。
# 🔍 排查步骤:
确认源数据库已正确开启 CDC 功能
不同数据库要求如下:MySQL:必须开启
binlog,且格式为ROW,例如:[mysqld] log-bin=mysql-bin binlog-format=ROW server-id=1PostgreSQL:需开启
WAL并设置wal_level = logical,同时创建具有REPLICATION权限的用户。SQL Server:需启用数据库级 CDC 和具体表的 CDC。
Oracle:需配置并启动
LogMiner,并授予相应权限。
确认 JDBC 账号具备 CDC 订阅权限
例如:- MySQL 用户需拥有
REPLICATION SLAVE和REPLICATION CLIENT权限; - PostgreSQL 用户需有
LOGIN+REPLICATION属性;
- MySQL 用户需拥有
- 权限不足将导致任务启动即报错(常见错误如
CanalParseException)。
- 建议首次使用先验证基础连通性
- 先选择一张小表,创建一个普通全量任务进行一次性同步。
- 若成功,说明网络、账号、驱动等基础配置无误;
- 再在此基础上配置实时任务或复杂增量任务,降低排查难度。
# 2. 任务运行失败
任务运行失败不要慌,点击任务操作列点击更多操作中的日志按钮,下载任务日志。
压缩包中有三个文件reader.log(源端数据抽取日志)、writer.log(目的端写入日志)、worker.log(引擎调度日志)。
将日志中的***报错信息发给AI***,他会告诉你问题原因,能帮助你解决百分之九十的问题。
