使用canal增量同步日志无异常但是未同步成功

【 使用环境 】测试环境
【 OB or 其他组件 】observer & canal1.1.5 & canal-adaptor-1.1.5
【 使用版本 】ce 4.2.0
【问题描述】使用canal进行mysql->ob增量数据同步时 canal-adapter接收到binlog信息并打印在日志中,但是在ob目标库中并没同步成功,canal-adapter没有异常日志
【复现路径】问题出现前后相关操作
修改 ${canal_home}/conf/example/instance.properties
canal.instance.master.address=127.0.0.1:3308
canal.instance.dbUsername=root
canal.instance.dbPassword=root
canal.instance.connectionCharset = UTF-8
其他配置保持不变
修改${canal_adapter_home}/conf/application.yaml
canal.conf:
mode: tcp #tcp kafka rocketMQ rabbitMQ
flatMessage: true
zookeeperHosts:
syncBatchSize: 1000
retries: 0
timeout:
accessKey:
secretKey:
consumerProperties:
# canal tcp consumer
canal.tcp.server.host: 127.0.0.1:11111
canal.tcp.zookeeper.hosts:
canal.tcp.batch.size: 500
canal.tcp.username:
canal.tcp.password:
srcDataSources:
defaultDS:
url: jdbc:mysql://127.0.0.1:3308/test_db?useUnicode=true
username: root
password: root
canalAdapters:
- instance: example # canal instance Name or mq topic name
groups:
- groupId: g1
outerAdapters:
- name: logger
- name: rdb
key: test_mysql_to_ob
properties:
jdbc.driverClassName: com.mysql.jdbc.Driver
jdbc.url: jdbc:mysql://172.16.1.100:2881/test_db?useUnicode=true
jdbc.username: testdba@mysql
jdbc.password: testdba@123456
修改${canal_adapter_home}/conf/rdb/mytest_user.yml
dataSourceKey: defaultDS
destination: example
groupId: g1
outerAdapterKey: test_mysql_to_ob
concurrent: true
dbMapping:
mirrorDb: true
database: test_db
commitBatch:1000
【问题现象及影响】
分别启动canal和canal-adapter
修改源mysql数据库,查看adapter日志接收,查看目标ob数据库未同步到
ob数据库用户权限客户端连接均无问题
【附件】

结果上看两个 adapter 里 logger 生效了,rdb 没生效,比较常见的原因是配置文件的缩进不对导致 rdb 配置没有正确读入,建议找一个格式检验的网站检查一下。另外,可以检索一下 adapter 的日志里有没有 Load canal adapter: rdb,正常启动时是应该有相应的 info 级别日志打印的。

1 个赞