Canal学习笔记(服务端)
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学习笔记(服务端)的更多相关文章
- Canal学习笔记(客户端)
前言 最近公司用到Canal来做从MySQL到Tidb的数据同步,用到HA模式Canal,记录一下HA模式的工作原理. Canal的架构模式 Canal是利用binlog日志来做数据同步,canal伪 ...
- 学习C++服务端一:MySql与C++
mysql学习: http://www.cnblogs.com/cy163/archive/2008/10/16/1312277.html http://developer.51cto.com/art ...
- dubbo 学习笔记 -- provider端
服务端的配置文件: provider.xml <?xml version="1.0" encoding="UTF-8"?> <beans ...
- CMDB学习之五服务端api
服务端api 对发送来的数据进行处理,并返回结果,首先要创建一个Django项目 第一步,就是写URL路由在分支中写url api 主路由 from django.conf.urls import u ...
- Android学习笔记--服务(Service)
1.服务概述 1.服务是Android四大组件之一,在使用上可以分为本地服务和远程服务,本地服务是指在不影响用户操作的情况下在后台默默的执行一个耗时操作,例如下载,音频播放等.远程服务是指可以供其他应 ...
- Consul 学习笔记-服务注册
Consul简介: Consul是一种服务网格解决方案,提供具有服务发现,配置和分段功能的全功能控制平面.这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建完整的服务网格.Consul需要 ...
- Consul 学习笔记—服务发现
前言: 上一篇文章简单实用Consul试下服务注册,本篇继续学习Consul中的另外特性:服务发现.KV操作 :以及对上篇文章中存在的问题进行解决 问题解决 在上一篇文章中,注册服务提示检查失败. 通 ...
- angular2 学习笔记 の 移动端开发 ( 手势 )
更新 : 2018-01-31 (hammer 的坑) hammer 的 pinch 在某种情况下会自动触发 panEnd,很奇葩. 解决方法就是记入时间呗 refer : https://githu ...
- SpringBoot之oauth2.0学习之服务端配置快速上手
现在第三方登录的例子数见不鲜.其实在这种示例当中,oauth2.0是使用比较多的一种授权登录的标准.oauth2.0也是从oauth1.0升级过来的.那么关于oauth2.0相关的概念及其原理,大家可 ...
随机推荐
- redis哨兵集群
Sentinel 哨兵 修改src下的sentinel.conf文件 , 配置端口 :port:随便 daemonize yes 配置主服务器的ip 和端口 我们把监听的端口修改成7000,并且 ...
- Vue源码学习(一)———数据双向绑定 Observer
从最简单的案例,来学习Vue.js源码. <body> <div id='app'> <input type="text" v-model=" ...
- why?
优点 充分利用多核CPU的计算能力: 方便进行业务拆分,提升应用性能 缺点 上下文切换 注意线程安全,避免死锁
- Ztree的onClick和onCheck事件
如下图所示,点击框选中,再点击框取消.现在需加上点击字体也能选中,再点击则取消 思路:点击事件是onClick,勾选的回调函数为onCheck,要实现上面需求,我们只需要在callback里新增一个点 ...
- php socket多进程简单服务器(一)
进程,线程 IO复用,协程都是处理完成并发的方式 socket分为 三步 服务器监听,客户端请求,连接确认, 每次连接都由当前进程来处理,可以通过IO复用来解决这个问题, 这次通过进程来完成并发请 ...
- angular2监听页面大小变化
一.现象 全屏页面中的图表,在很多的时候需要 resize 一把,以适应页面的大小变化 二.解决 1.引入 : import { Observable } from 'rxjs'; 2.使用(在ngO ...
- CNA, FCoE, TOE, RDMA, iWARP, iSCSI等概念及 Chelsio T5 产品介绍 转载
CNA, FCoE, TOE, RDMA, iWARP, iSCSI等概念及 Chelsio T5 产品介绍 2016年09月01日 13:56:30 疯子19911109 阅读数:4823 标签: ...
- 24. pt-slave-find
pt-slave-find --host 192.168.100.101 --port 3306 --user admin --password admin [root@server01 test]# ...
- 【第一次作业】&&软件工程大一班---甘昀
这个作业属于哪个课程: <课程的链接点这里> 这个作业要求在哪里: <作业要求的链接点这里> 我在这个课程的目标是: 学会软件开发的流程和思想 这个作业在哪个具体方面帮助我 ...
- BSOJ3760||洛谷P1453 城市环路 题解
城市环路 Description 一座城市,往往会被人们划分为几个区域,例如住宅区.商业区.工业区等等.B市就被分为了以下的两个区域——城市中心和城市郊区.在着这两个区域的中间是一条围绕B市的环路,环 ...