1、环境:mysql -> canal -> rocketmq ->消费服务 -->文件/mysql
2、canal的版本为1.1.5
3、问题描述:
3.1 在2021-12-03 22:34:00 至 2021-12-03 22:34:59这一分钟的时间段的新增订单(po_order)的记录,没有被记录(大概有21条,可能是业务的一次excel导入)。但34分钟之前和之后的数据都有被记录。 3.2 rocektmq-client的日志、canal监听实例的日志、消费服务的应用日志都没有异常日志
原提问者GitHub用户snails-Jie
把canal的解析日志和客户端的日志都打印下,按照经验来看一般是client消费端的问题
原回答者GitHub用户agapple
首先,您需要确认是否有任何异常或错误消息出现在canal、rocketmq和消费服务的日志中。如果没有,可能是由于canal在某些情况下会丢失一些数据,例如在canal和MySQL之间的网络连接出现问题时。
您可以检查canal是否在上述时间段内正常运行,并且是否成功地将binlog事件发送到rocketmq。您可以通过检查canal的日志来确定这一点。如果canal在该时间段内出现了任何异常或错误,您可以尝试重新启动canal并监视日志以查看是否有任何问题。
如果canal没有出现任何异常或错误,并且您仍然无法找到缺失的数据,您可以尝试使用canal提供的追溯机制来查找缺失的数据。使用这种方法,您可以回放canal从MySQL中读取的binlog事件并查找缺失的数据。这可能需要一些时间和资源,但可以帮助您找到并恢复缺失的数据。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。