开发者社区> 问答> 正文

canal HA 模式,查看position

canal server 启了两台,开启了HA高可用。配置如下:

但是zk不小心被删除了,现在active canal 还是正常接收binlog解析,但是已经没法更新zk中的position信息了。请问一下,zk不小心误删了,除了zk还能在哪查到当前instance的position数据?

` ################################################# ######### common argument ############# ################################################# canal.id= 1 canal.ip= canal.port= 11111 canal.zkServers=10.100.1.10:2181,10.100.1.11:2181,10.100.1.12:2181

canal.zookeeper.flush.period = 1000

canal.file.data.dir = ${canal.conf.dir} canal.file.flush.period = 1000

canal.instance.memory.buffer.size = 16384

canal.instance.memory.buffer.memunit = 1024

原提问者GitHub用户gaohaizhao

展开
收起
绿子直子 2023-05-09 08:05:57 85 0
2 条回答
写回答
取消 提交回答
  • logs下的meta.log会有记录每次的消费

    原回答者GitHub用户agapple

    2023-05-09 19:37:33
    赞同 展开评论 打赏
  • 如果zk中的position信息已经丢失了,您仍然可以通过以下方式查找当前instance的position数据:

    1. 查看Canal Server的日志,可以在日志中找到当前instance的position信息,例如:
    2019-06-11 17:06:57.272 [destination = example , address = /127.0.0.1:3306 , EventParser] INFO  c.a.otter.canal.parse.inbound.mysql.dbsync.MysqlEventParser - receive pos: mysql-bin.000021:324
    
    1. 直接查询Canal Server的Meta表,可以在Meta表中找到当前instance的position信息,例如:
    SELECT * FROM canal_meta WHERE destination = 'example';
    

    其中,'example'是你的destination名称,可以更改为自己实际的destination名称。

    注意:以上方法仅限于Canal Server正常运行的情况下使用。如果Canal Server也出现了问题,建议您重新搭建Canal Server,并备份好zk的数据,以防止数据丢失。

    2023-05-09 09:01:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载