Canal + MySQL + Zookeeper + Kafka 数据实时同步

本文介绍Canal中间件及MySQL Binlog的基本概念、工作原理及其应用场景。涵盖Canal安装配置、MySQL Binlog格式详解及Canal如何利用Binlog实现数据同步。

目录

零、前置操作

一、Canal 入门

1.什么是Canal

2.MySQL 的 Binlog

什么是Binlog

Binlog 的分类

3.Canal 的工作原理

二、MySQL

创建数据库

创建表

开启Binlog

三、Canal 

1.下载安装

2.参数配置

四、测试

群启zk

群启Kafka

启动Canal

启动 Kafka 消费客户端测试


零、前置操作

MySQL:             Linux安装MySQL,并使用Navicat连接

Zookeeper:   Zookeeper - 本地安装与参数配置

                            Zookeeper - 集群搭建 + 群起集群脚本 

Kafka:           Kafka + Zookeeper + Hadoop 集群配置

Xsync:               Hadoop3.x - 本地安装 + 完全分布式安装 + 集群配置 + xsync分发脚本 


一、Canal 入门

1.什么是Canal

官网:GitHub - alibaba/canal: 阿里巴巴 MySQL binlog 增量订阅&消费组件

canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。

阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了同步杭州和美国异地机房的需求,从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务。Canal是用Java开发的基于数据库增量日志解析,提供增量数据订阅&消费的中间件。目前,Canal主要支持了MySQL的Binlog解析,解析完成后才利用CanalClient来处理获得的相关数据。(数据库同步需要阿里的Otter中间件,基于Canal)。


2.MySQL 的 Binlog

什么是Binlog

MySQL 的二进制日志可以说 MySQL 最重要的日志了,它记录了所有的 DDL 和 DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL 的二进制日志是事务安全型的。
一般来说开启二进制日志大概会有 1%的性能损耗。二进制有两个最重要的使用场景:

                1.MySQL Replication 在 Master 端开启 Binlog,Master 把它的二进制日志传递给 Slaves来达到 Master-Slave 数据一致的目的。
                2.自然就是数据恢复了,通过使用 MySQL Binlog 工具来使恢复数据。

 二进制日志包括两类文件:二进制日志索引文件(文件名后缀为.index)用于记录所有的二进制文件,二进制日志文

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

现在作诗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值