canal

Canal是阿里巴巴开源的一款主要用于数据库同步业务的项目,基于数据库的日志解析,获取增量变更进行同步,由此衍生出了Canal增量订阅&消费的实时数据库同步。目前阿里内部版本已经支持mysql和oracle部分版本的日志解析,当前的canal开源版本支持mysql 5.7及以下的版本。

基本原理:

canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议

mysql master收到dump请求,开始推送binary log给slave(也就是canal)

canal解析binary log对象(原始为byte流)

工作原理

工作原理

原理相对比较简单:

canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议

mysql master收到dump请求,开始推送binary log给slave(也就是canal)

canal解析binary log对象(原始为byte流)

Canal安装配置

wget https://github.com/alibaba/canal/releases/download/canal-1.1.3/canal.deployer-1.1.3.tar.gz

解压

tar xzf canal.deployer-1.1.3.tar.gz

配置

cd /service/canal/conf

vim canal.properties //全局canal服务配置

canal.id= 41 //每个canal server实例的唯一标识

canal.zkServers=192.168.200.44 //zookeeper地址,不设置默认单节点模式,设置的话通过zookeeper维护热备切换

#canal.instance.global.spring.xml = classpath:spring/file-instance.xml //通过文件维护偏移量

canal.instance.global.spring.xml = classpath:spring/default-instance.xml //利用zookeepr维护偏移量信息

vim example/instance.properties //每个instance一个单独配置

canal.instance.master.address=192.168.200.30:3306 //数据库IP端口

canal.instance.master.journal.name=mysql-bin.000030 //从哪个binlog文件开始dump

canal.instance.master.position=107 //binlog文件偏移量

canal.instance.master.timestamp= 1557454483242 //ms

canal.instance.dbUsername=root //数据库用户名

canal.instance.dbPassword=123456 //数据库密码

canal.instance.connectionCharset mysql= UTF-8 //数据解析编码

canal.instance.filter.regex= canal.test1

//

mysql 数据解析关注的表,Perl正则表达式.多个正则之间以逗号(,)分隔,转义符需要双斜杠(\\)

常见例子:

1. 所有表:.* or .*\\..*

2. canal schema下所有表: canal\\..*

3. canal下的以canal打头的表:canal\\.canal.*

4. canal schema下的一张表:canal.test1

5. 多个规则组合使用:canal\\..*,mysql.test1,mysql.test2 (逗号分隔)

copy整个canal目录到另一个节点服务器(单节点不用)

修改canal.properties中的canal.id=42(单节点不用)

启动canal

/service/canal/bin/startup.sh

Mysql配置修改

vim /etc/my.cnf

binlog_format=row

同步数据到dataworks数仓

未完待续...

canal实时同步oracle,canal反向同步数仓方案相关推荐

  1. 使用canal实时同步MySQL数据到Elasticsearch

    使用canal实时同步MySQL数据到Elasticsearch 搭建环境 安装 elasticsearch 安装 kibana 下载和安装canal 1.下载canal 2.配置MySQL 3.配置 ...

  2. mysql数据实时同步:Canal安装部署、kafka安装、zk安装、mysql安装、Canal Server+Canal Client HA,Canal+mysql+Kafka,相关验证(学习笔记)

    目录 Canal安装部署 1.1. 服务器准备 1.2. 设置主机名并配置hosts 1.3. 免密设置 1.4. 设置ntp时间 1.5. 关闭防火墙 1.6. 关闭selinux 1.7. 安装J ...

  3. canal数据同步(canal安装)

    下载安装Canal服务 下载地址: https://github.com/alibaba/canal/releases (1)下载之后,放到目录中,解压文件 cd /usr/local/canal c ...

  4. Canal实时同步数据到RocketMQ

    环境准备 Canal 1.1.5:https://blog.csdn.net/qq_28834355/article/details/117785317 RocketMQ 4.8.0:https:// ...

  5. DB与ES混合应用之数据实时同步

    一.技术背景 DB与ES本质上是属于不同应用领域的数据库产品,混合应用在一起主要面临2个问题 : 同步实时性,数据在DB更新之后,需要多久才能更新到Elasticsearch,多久的时间是应用系统可以 ...

  6. Ogg For Bigdata 同步Oracle数据到KAFKA(包括初始化历史数据)

    OGG同步Oracle数据到KAFKA:OGG初始化进程初始化历史数据 在前面曾写过几篇关于OGG同步Oracle等库数据到kafka的文章: OGG实时同步Oracle数据到Kafka实施文档(供f ...

  7. 【Linux下Inotify + Rsync文件实时同步】

    Linux下Inotify + Rsync文件实时同步 一.使用前言* 随着公司业务的发展,单web服务器不能满足用户的访问,需要增加多台web服务器实现均衡高可用性访问.为了统一各web服务器之间的 ...

  8. flink实时同步mysql_基于Canal与Flink实现数据实时增量同步(一)

    点击上方蓝色字体,关注我 canal是阿里巴巴旗下的一款开源项目,纯Java开发.基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL(也支持mariaDB). 准备 配置 ...

  9. 如何基于Canal 和 Kafka,实现 MySQL 的 Binlog 近实时同步

    转载自 如何基于Canal 和 Kafka,实现 MySQL 的 Binlog 近实时同步 近段时间,业务系统架构基本完备,数据层面的建设比较薄弱,因为笔者目前工作重心在于搭建一个小型的数据平台.优先 ...

最新文章

  1. Cell:肠道菌群促进帕金森发生ParkinsonDisease
  2. python基础教程:类型转换和舍入
  3. 腾讯邓君:《王者荣耀》翻过的同步技术相关的三座大山
  4. jeasyUI的treegrid批量删除多行
  5. html显示文件代码提示,代码提示和代码完成
  6. 【ECSHOP插件】ECSHOP商品相册批量上传插件
  7. 计算机桌面保护程序,屏幕保护程序软件
  8. 【IoT】智能硬件 | 基于电力线的视频监控系统
  9. Ubuntu 18.04 安装 Wine
  10. 【线性代数】6-6:相似矩阵(Similar Matrices)
  11. 仙境传说 第一章之四 卢渊*梦魇过后的情缘
  12. 金万维未找到服务器信息,域名解析失败原因和问题排查方法
  13. 深度学习之蛋白质二级结构预测
  14. (笔记本)电脑WLAN 点不开,显示WLAN 已关闭。
  15. Microsoft Edge浏览器不兼容解决办法
  16. 放开二妻你会拼命一点儿工作么|独秀日记
  17. 【2019-游记】中山纪念中学暑期游Day5
  18. socket系列之什么是socket
  19. 从元宇宙的人、货、场展望2022年元宇宙发展趋势
  20. 我的世界服务器回到死亡位置,我的世界返回死亡地点指令是什么

热门文章

  1. 2021年1月电影网络关注度榜发布 《武汉日夜》成1月最热电影
  2. python加载dll失败_Python导入错误+DLL加载失败+搜索路径
  3. 京东怎么使用礼品卡购物
  4. Vue使用echarts树图
  5. 突发!Soul上市中止,因不正当竞争行为成被告,遭索赔410万美元
  6. css设置datatable表格奇偶数行或者奇偶数列背景色不同
  7. android 电池充电状态记录
  8. 抖音SEO,抖音seo关键词排名靠前操作
  9. mybatis-plus打印带参数的sql日志
  10. [转载]100条关于猪的短信