首页 > 其他 > 详细

Canal学习笔记(服务端)

时间:2019-04-18 16:41:21      阅读:112      评论:0      收藏:0      [点我收藏+]

canal服务端

canal服务端有两种运行模式,一种单机模式,一种HA运行模式(zk保证)

单机模式:同步的binlog节点信息保存在本地(/conf/{自定义分区文件夹}/),meta.dat

技术分享图片

HA模式:同步的binlog节点信息在zk上技术分享图片

canal配置文件

canal配置文件分为两类,

  一类是全局配置文件(/conf/canal.properties),里面定义了一些公共的全局参数,例如zk信息

  一类是启动实例配置文件(/conf/{自定义分区文件夹}/instance.properties),里面定义了一些实例参数(每一个的实例参数可能都是不一样的,例如slaveId不能重复),例如数据库链接,slaveId等。

canal HA模式配置

  在全局配置文件(/conf/canal.properties)中配置zk信息、自定义分区名称(需要和自定义分区文件夹保持一致)、实例全局配置,详细如下:

  zk信息配置:

技术分享图片

  自定义分区名称、全局实例配置:

技术分享图片

 

  在实例配置数据库链接、slaveId,配置如下:

技术分享图片

 

 canal HA模式服务端启动过程

  canal服务端在启动时首先链接zk,从zk上查找binlog同步节点信息,找到则从binlog同步节点信息开始dump binlog日志。

技术分享图片

  如果没有找到binlog同步节点信息(第一次启动)则会去配置实例配置文件中查找binlog同步节点信息,找到则从binlog同步节点信息开始dump binlog日志,配置如下:

技术分享图片

  如果实例配置文件中没有配置binlog 同步节点信息,则服务端向mysql发送show master status查询binlog的最后的位置信息,然后开始从这个位置信息 dump binlog日志。

指定binlog 节点信息 dump binlog

  单机模式:修改/conf/meta.dat里面的信息即可

  HA模式:修改zk上的cursor信息或者在全局配置文件中指定新的分区名称,然后在实例配置文件文件配置信息即可

  需要配置的信息:"journalName":"mysql-bin.000007","position":407258,"serverId":42,"timestamp":1554806456000,可以治配置一个。

  建议:配置开始同步的binlog 时间戳,这样最简单,缺点是服务端在启动时需要扫面mysql的binlog日志,找到指定的时间戳的binlog日志,可能比较耗费时间。

  

 

Canal学习笔记(服务端)

原文:https://www.cnblogs.com/salvinlee/p/10730495.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!