阿里云数据同步组件Canal及kafka模式的部署安装

·一、简介

canal,译为管道水道,主要用途是对MySQL的增量日志,进行解析,提供增量数据订阅和消费

应用场景:

  • 数据库镜像
  • 数据库实时备份
  • 带业务逻辑的增量数据处理

二、工作原理

MySQL主备复制原理

  • MySQL的master将写入二进制日志(binary log,可以通过show binlog events进行查看)
  • MySQL的slave将master的binary log events拷贝到它的中继日志(relay log)
  • MySQL的slave重放relay log中的事件,将数据变更反映到它自己的数据库中

canal工作原理

  • canal实际上是把自己模拟成了MySQL的slave,向MySQL master发送dump协议
  • MySQL master收到dump请求后,开始推送自己的binary log给slave,也就是canal
  • canal解析binary log对象(原始为 byte 流)

三、环境准备

1.查看当前mysql是否开启binlog模式

        show variables like '%log_bin%'   off未开启  on开启

2.支持的binlog format类型:statement,row,mixed

3.当前mysql用户至少拥有的权限

        select,replication slave,replication  client

4.数据库中需要导入 canal_manager的sql文件,建立canal的数据库,用来存放部署信息(sql脚本在canal Admin的解压包下)

四、生产集群的搭建

1. 部署canal-admin

背景:canal-admin设计上是为canal提供整体配置管理、节点运维等面向运维的功能,提供相对友好的WebUI操作界面,方便更多用户快速和安全的操作。

准备工作:MySQL、zookeeper集群、kafka集群

部署canal-admin.

1. 解压压缩包:tar -zxvf canal.admin-1.1.5.tar.gz

2. cd conf 将canal_manager.sql取出 并导入目标数据库

3. vim application.yml

 

2.部署canal-deployeer

1.解压压缩包tar -zxvf canal.deployeer-1.1.5.tar.gz 进入conf内

 2.启动 ./startup.sh local

3. 浏览器 ip 8089 进入canal的管理工具

    用户名:admin

    密码: 123456

4.新建server

 5. 如果需要集群,需要在集群管理内新建集群,配置集群信息,如果不需要集群,选中单机

下面三个必填项 server名称自定义,Server IP 为当前服务器的IP ,admin端口默认11110

点击确认

6. 对新建的server进行配置,编辑配置文件,这里是将监控的信息存放在kafka

canal.admin.passwd=6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9

canal.serverModel = kafka

canal.zkServer = zookeeper 节点   ip+端口,可配置多个,用逗号隔开

7.点击instance管理,新建instance,每一个instance对应一个实例

8.编辑配置文件

canal.instance.master.address= 要抽取的数据库的ip+端口

canal.instance.dbUsername = 要抽取的数据库的 用户名

canal.instance.dbPassword= 要抽取的数据库的 密码

canal.instance.filter.regex= test.* 要抽取的数据库表的信息,用正则表达式,test.*表示监控test库下的所有的表  *.*表示监控全部数据里的全部表

canal.mq.topic= 将同步到的增量数据放到kafka中的哪一个topic,可以是已有的,可以是新的,如果kafka内没有该topic,会新建

3.canal_adaptor

该组件可以直接将增量数据同步到下游,配置文件中支持其他类库,但是实际中好像只支持将数据落到mysql中(个人对接过oracal失败,查询资料显示只支持mysql,个人简介,参考即可)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值