目录
零、前置操作
MySQL: Linux安装MySQL,并使用Navicat连接
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)用于记录所有的二进制文件,二进制日志文

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

654

被折叠的 条评论
为什么被折叠?



