开发者社区> 问答> 正文

canal1.1.3 不会刷新binlog位点信息到zookeeper

环境信息

canal version 1.1.3 mysql version 5.7.5

问题描述

早上我使用canal1.1.2测试HA高可用,发现两者之间切换有问题但是全部关闭再起一个canal server服务是能接着正常抽取的,而且在zkui里能看到position的实时变化。下午换成了canal1.1.3发现position信息并不会实时更新到zookeeper里,而且两个canal server之间来回切换每次总是获取的固定不变的position,就算之起一个canal server然后停止再启动在zookeeper里获取的还是固定不变的position

原提问者GitHub用户lijif

展开
收起
古拉古拉 2023-05-08 13:33:23 71 0
2 条回答
写回答
取消 提交回答
  • jstack和meta.log看一下

    原回答者GitHub用户agapple

    2023-05-09 17:41:26
    赞同 展开评论 打赏
  • 随心分享,欢迎友善交流讨论:)

    在Canal 1.1.3中,binlog位点信息默认是通过MQ进行传递的,而不是直接存储到Zookeeper中。因此,您需要确保MQ正常工作并正确配置,以便Canal能够正确地处理位点信息。

    如果您使用的是Kafka作为MQ,则需要确保Kafka的分区数与Canal的worker线程数相匹配,并且使用正确的分区分配策略。您可以检查Canal的日志文件以查看它是否正确地分配了分区,并查看Kafka的日志文件以查看消息是否正确地发送到了Kafka的各个分区中。

    如果使用的是其他的MQ,例如RocketMQ或者ActiveMQ等,则需要确保它们的配置正确,并能够正确地处理Canal发送的消息。

    另外,如果您确信MQ已经正确配置,但仍然无法获取到实时更新的位点信息,可能是由于Canal的某些配置问题或者版本问题导致的。建议您检查Canal的日志文件以查看是否存在异常或者错误信息,并尝试使用较新的版本进行测试。

    2023-05-08 13:38:42
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《MSE 微服务网关》 立即下载
微服务引擎 MSE 治理中心重磅发布 立即下载
阿里云微服务引擎 MSE 2.0 线上发布 立即下载