canal之高可用架构设计与应用

本文详细介绍了一种基于Zookeeper、Canal和MySQL的高可用架构设计与部署流程,包括组件版本、工作原理、配置步骤及HA机制验证,旨在实现数据库变更事件的实时捕获与消费。

一 高可用架构设计

架构设计图

配置说明:
zookeeper x 3 + canal x 2 + mysql x 2

组件说明:

  • 1.linux内核版本(CentOS Linux 7):(命令:uname -a)
    Linux slave1 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
  • 2.mysql版本:(SQL命令:select version(); 或 status)
    Server version: 5.6.43-log MySQL Community Server (GPL)
  • 3.canal版本:canal-1.1.3
  • 4.zookeeper版本:zookeeper-3.4.5-cdh5.7.0
  • 5.JDK版本: 1.8

canal工作原理:

  • 1.模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议;
  • 2.mysql master收到dump请求,开始推送binary log给slave(也就是canal);
  • 3.解析binary log对象(原始为byte流)

了解更多详细更新可以查看文章:【了解canal,看这个就够了】

二 配置与部署流程

2.1 安装mysql数据库

1. 下载安装

在192.168.175.21和192.168.175.22两台服务器上分别安装mysql,具体安装流程可参考文章:Linux-安装MySQL.

2. 创建canal账户

在创建root账号并设置远程访问之后,接着创建canal账号并设置远程访问和权限:

mysql> CREATE USER 'canal'@'%' IDENTIFIED BY 'canal';
mysql> GRANT ALL ON canal.* TO 'canal'@'%';
mysql> GRANT SELECT, REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'canal'@'%';
mysql>FLUSH PRIVILEGES;
3. 验证登录
#远程登录
mysql -h 192.168.175.22 -P 3306 -u canal -pcanal

#本地登录
mysql -ucanal -pcanal
4. 修改my.cnf配置(这一步非常关键!!!)

分别在175.21和175.22两台服务器修改my.conf配置,查找my.cnf配置位置命令:whereis my.

示例,在192.168.175.21的my.cnf配置新增如下内容:

log_bin=mysql-bin  #指定bin-log的名称,尽量可以标识业务含义
binlog_format=row  #选择row模式,必须!!!
server_id=1  #mysql服务器id

2.2 搭建zookeeper集群

搭建zookeeper集群地址为192.168.175.20:2181,192.168.175.21:2181,192.168.175.22:2181,具体搭建流程,可查看文章【Zookeepr3.4.5集群搭建】

2.3 搭建canal server集群

前提: mysql已打开binlog功能,且配置binlog模式为row.

1. 下载最新canal安装包

下载地址: https://github.com/alibaba/canal/releases/download/canal-1.1.3/canal.deployer-1.1.3.tar.gz

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值