博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Canal学习笔记(服务端)
阅读量:5998 次
发布时间:2019-06-20

本文共 1117 字,大约阅读时间需要 3 分钟。

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日志,可能比较耗费时间。

  

 

转载于:https://www.cnblogs.com/salvinlee/p/10730495.html

你可能感兴趣的文章
软件测试中遇到的常见问题及沟通方法
查看>>
我的友情链接
查看>>
那些年,一起学的Java 5-3
查看>>
浮点数和定点数
查看>>
优秀的SharePoint 2013开发工具有哪些(一)
查看>>
记录一段python代码 (修改数据库字符串)
查看>>
winserver 2012“远程桌面授权模式尚未配置”临时解决办法
查看>>
如何将Hyperledger Fabric PoC应用程序部署到云端
查看>>
第二届开源操作系统年会资料整理
查看>>
软件包管理
查看>>
Summary interview question for Project Manager -1
查看>>
LINQ分组查询统计
查看>>
SVN “不能打开文件“.svn/lock” 权限不够”精解
查看>>
如何将Unity集成到AdMob
查看>>
大数据可视化的最新动态
查看>>
cdh 卸载
查看>>
我的友情链接
查看>>
网络编程学习——套接字选项
查看>>
Linux退出状态代码1
查看>>
给前端开发者的建议
查看>>