开发者社区> 问答> 正文

Canal Server使用dynamicTopic启动后报 ack error

环境信息

canal version 1.1.3 mysql version 5.7.20

问题描述

canal 1.1.3使用dynamicTopic配置,启动Canal server后报ack error异常, 阻塞binlog的解析

2019-01-16 00:03:27.327 [pool-5-thread-1] ERROR com.alibaba.otter.canal.server.CanalMQStarter - ack error , clientId:1001 batchId:357 is not exist , please check com.alibaba.otter.canal.server.exception.CanalServerException: ack error , clientId:1001 batchId:357 is not exist , please check 2019-01-16 00:03:27.327 [pool-5-thread-1] ERROR com.alibaba.otter.canal.server.CanalMQStarter - ack error , clientId:1001 batchId:357 is not exist , please check com.alibaba.otter.canal.server.exception.CanalServerException: ack error , clientId:1001 batchId:357 is not exist , please check 2019-01-16 00:04:18.811 [pool-5-thread-1] ERROR com.alibaba.otter.canal.server.CanalMQStarter - batchId:406 is not the firstly:405 com.alibaba.otter.canal.meta.exception.CanalMetaManagerException: batchId:406 is not the firstly:405 2019-01-16 00:04:18.811 [pool-5-thread-1] ERROR com.alibaba.otter.canal.server.CanalMQStarter - batchId:406 is not the firstly:405 com.alibaba.otter.canal.meta.exception.CanalMetaManagerException: batchId:406 is not the firstly:405 2019-01-16 00:04:18.877 [pool-5-thread-1] ERROR com.alibaba.otter.canal.server.CanalMQStarter - batchId:407 is not the firstly:405 com.alibaba.otter.canal.meta.exception.CanalMetaManagerException: batchId:407 is not the firstly:405 2019-01-16 00:04:18.877 [pool-5-thread-1] ERROR com.alibaba.otter.canal.server.CanalMQStarter - batchId:407 is not the firstly:405 com.alibaba.otter.canal.meta.exception.CanalMetaManagerException: batchId:407 is not the firstly:405 2019-01-16 00:04:18.941 [pool-5-thread-1] ERROR com.alibaba.otter.canal.server.CanalMQStarter - batchId:408 is not the firstly:405 com.alibaba.otter.canal.meta.exception.CanalMetaManagerException: batchId:408 is not the firstly:405

运行环境:两台Canal sever服务器,使用zookeeper做高可用 对接RocketMQ集群 ,使用dynamicTopic配置自动创建topic

原提问者GitHub用户flackyang

展开
收起
古拉古拉 2023-05-08 15:04:21 113 0
2 条回答
写回答
取消 提交回答
  • 可以尝试一下1.1.3 alpha-3版本,ack的问题有修复

    原回答者GitHub用户agapple

    2023-05-09 18:06:57
    赞同 展开评论 打赏
  • 根据报错信息分析,可能是由于Canal批次管理机制导致的,它通过batchId记录已经发送到MQ的批次,以确保每个批次仅被处理一次。其中一个错误提示是这个batchId不是第一个,因此可能是Canal间的处理顺序问题导致的。

    建议你检查一下Canal的动态topic的配置是否准确无误,特别是在进行重复数据过滤时,确保相同的数据不会被多次发送。同时检查有无多个Canal server在向同一个topic发送数据,或者在集群中有多个Canal server实例连接到同一组zookeeper节点。

    另外,建议升级Canal的版本到最新,以解决一些版本中存在的已知问题。

    2023-05-08 15:06:56
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ACK 云原生弹性方案—云原生时代的加速器 立即下载
ACK集群类型选择最佳实践 立即下载
企业运维之云原生和Kubernetes 实战 立即下载

相关镜像