DataX-web启动后执行器在线机器为0.0.0开头的地址,删除这个执行器后添加一个执行器,注册方式为手动录入,在线机器地址改为你的地址。
结果系统仍不能调度成功。
查看日志报错jdbc4.MySQLNonTransientConnectionException:Could not create database server,
直接在datax下执行python ~/datax/bin/datax.py ~/datax/job/test.json也提示上述错误。
原因是
java的mysql-connector-java.jar与高版本的MySQL不匹配,datax plugin里的MySQL插件还是5.1.34版的,
于是进去MAVEN官网https://mvnrepository.com/artifact/mysql/mysql-connector-java下载了jdbc版本8.0.25.jar,可以根据源数据库的版本选择对应的mysql-connector-java.jar。
下载的mysql-connector-java-8.0.25.jar替换~/datax/plugin/writer/mysqlwriter/libs和~/datax/plugin/reader/mysqlreader/libs下的mysql-connector-java-5.1.34.jar
此时执行python ~/datax/bin/datax.py ~/datax/job/test.json成功
不用重启datax-web,执行任务也成功。
对于增量同步,datax-web提示
DataX传输脏数据超过用户预期,该错误通常是由于源端数据存在较多业务脏数据导致,请仔细检查DataX汇报的脏数据日志信息, 或者您可以适当调大脏数据阈值
datax的这个脏数据阈值在job的json中errorlimit中设置
同步时不要选择id自增字段同步就不会提示传输脏数据超过用户预期
字段映射时字段名可以不一样,字段数量必须一样。
json中存储的用户名密码是加密的,不影响同步(不要误以为是此处的加密用户名密码造成同步失败)