服务器上安装了canalserver的docker容器,启动时一直在报错
异常详情:
2021-08-04 10:52:21.133 [destination = example , address = /10.12.1.77:3306 , EventParser] ERROR com.alibaba.otter.canal.common.alarm.LogAlarmHandler - destination:example[com.alibaba.otter.canal.parse.exception.CanalParseException: com.alibaba.otter.canal.parse.exception.CanalParseException: not found [cattle.cluster_membership] in db , pls check!
Caused by: com.alibaba.otter.canal.parse.exception.CanalParseException: not found [cattle.cluster_membership] in db , pls check!
通过查看canal代码解析,终于找到问题了,解决办法:
在mysql数据库内,因为包含了多个库,我需要增量同步监测的表对应的库只有一个,因此必须配置库的过滤规则,即在canalserver内的instance.properties文件内,配置过滤规则,如:
(代码粘贴上去符号就没了,有需要交流的朋友可以私信我)
这样以来,异常提示内的cattle库就被排除canal监测之外,也就不会报异
常了
修改保存instance.properties后,重新启动该容器即可。
第一次用canal和es7,踩了很多坑,困扰三天的问题终于解决了,以上内容希望对大家有帮助。