canal mysql 数据汇总_Canal 实现 Mysql数据库实时数据同步

简介

1.1 canal介绍

​ Canal是一个基于MySQL二进制日志的高性能数据同步系统。Canal广泛用于阿里巴巴集团(包括https://www.taobao.com),以提供可靠的低延迟增量数据管道,github地址:https://github.com/alibaba/canal

Canal Server能够解析MySQL binlog并订阅数据更改,而Canal Client可以实现将更改广播到任何地方,例如数据库和Apache Kafka。

它具有以下功能:

支持所有平台。

支持由Prometheus提供支持的细粒度系统监控。

支持通过不同方式解析和订阅MySQL binlog,例如通过GTID。

支持高性能,实时数据同步。(详见Performance)

Canal Server和Canal Client都支持HA / Scalability,由Apache ZooKeeper提供支持

Docker支持。

缺点:

不支持全量更新,只支持增量更新。

完整wiki地址:https://github.com/alibaba/canal/wiki

1.2 运作原理

原理很简单:

Canal模拟MySQL的slave的交互协议,伪装成mysql slave,并将转发协议发送到MySQL Master服务器。

MySQL Master接收到转储请求并开始将二进制日志推送到slave(即canal)。

Canal将二进制日志对象解析为自己的数据类型(原始字节流)

如图所示:

8ea4aedccbe206c5231f76c18b3a9254.png

准备工作

2.1 下载解压canal-server

​ 通过 github 下载 canal-server release 版本(本次安装文档使用v1.1.4)

​ 解压

2.2 下载解压 canal-adapter

​ 通过 github 下载 canal-adapter release 版本(本次安装文档使用v1.1.4)

​ 解压

配置 canal-server

3.1 canal-server 配置

​ 解压之后进入 conf文件夹中,修改 canal.properties 根据实际需要来修改(如果不使用kafka或MQ 默认tcp即可)

​ 保存之后在conf目录创建 prod 文件夹并将 example文件夹中的 nstance.properties copy 到and_prod中

​ 修改 nstance.properties 配置如下:

3.2 canal-server 启动

​ 进入 canal-server bin 目录 启动

​ 查看日志,是否启动成功

​ 启动成功:

配置 canal-adapter

4.1 canal-adapter 配置

​ 由于Mysql 是8.0 这里需要下载 mysql-connector-java-8.0.20.jar,并将其放入lib中

​ 解压之后进入 conf文件夹中,修改 application.yml

​ 编辑rdb目录下面表的映射文件,数据库/表 (多个表创建多个映射文件,文件名对应表名)以此类推

4.1 canal-adapter 启动

​ 进入 canal-adapter/bin 目录 启动

​ 查看日志,是否启动成功

测试数据库同步

原文链接:https://www.jianshu.com/p/d4c177f0d831

作者:qingwenLi

本文链接:http://www.yunweipai.com/38946.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值