canal mysql从库_canal客户端、解析binlog日志将数据从mysql过渡到rabbitmq和mongodb中

这篇博客介绍了如何配置和使用canal客户端,通过解析mysql的binlog日志,将数据实时同步到rabbitmq和mongodb中。首先,下载canal服务端并进行解压,然后配置instance.properties文件以连接到mysql数据库。接着,启动canal服务,观察日志确认运行正常。最后,通过修改数据库中的数据,观察rabbitmq中的队列和mongodb中的数据变化。
摘要由CSDN通过智能技术生成

canal-client

项目介绍

canal客户端、解析binlog日志将数据从mysql过渡到rabbitmq和mongodb中

软件架构

软件架构说明

安装教程

下载最新版本的canal服务端,下载地址 68747470733a2f2f67697465652e636f6d2f75706c6f6164732f696d616765732f323031382f303630382f3139303731315f64636431633333345f313639373832332e706e67

解压缩 mkdir /tmp/canal tar zxvf canal.deployer-$version.tar.gz -C /tmp/canal

解压完成后,进入/tmp/canal目录,可以看到如下结构:

drwxr-xr-x 2 jianghang jianghang 136 2013-02-05 21:51 bin drwxr-xr-x 4 jianghang jianghang 160 2013-02-05 21:51 conf drwxr-xr-x 2 jianghang jianghang 1.3K 2013-02-05 21:51 lib drwxr-xr-x 2 jianghang jianghang 48 2013-02-05 21:29 logs

配置修改

应用参数:

vi conf/example/instance.properties

#################################################

#### mysql serverId

canal.instance.mysql.slaveId = 1234

#################################################

#### mysql serverId

canal.instance.mysql.slaveId = 1234

**position info,需要改成自己的数据库信息**

canal.instance.master.address = 127.0.0.1:3306

canal.instance.master.journal.name =

canal.instance.master.position =

canal.instance.master.timestamp =

#canal.instance.standby.address =

#canal.instance.standby.journal.name =

#canal.instance.standby.position =

#canal.instance.standby.timestamp =

username/password,需要改成自己的数据库信息

canal.instance.dbUsername = canal

canal.instance.dbPassword = canal

canal.instance.defaultDatabaseName =

canal.instance.connectionCharset = UTF-8

table regex

canal.instance.filter.regex = .\..

#################################################

说明:

这里是列表文本这里是列表文本canal.instance.connectionCharset 代表数据库的编码方式对应到java中的编码类型,比如UTF-8,GBK , ISO-8859-1

准备启动

sh bin/startup.sh

查看日志

vi logs/canal/canal.log

2013-02-05 22:45:27.967 [main] INFO com.alibaba.otter.canal.deployer.CanalLauncher - ## start the canal server.

2013-02-05 22:45:28.113 [main] INFO com.alibaba.otter.canal.deployer.CanalController - ## start the canal server[10.1.29.120:11111]

2013-02-05 22:45:28.210 [main] INFO com.alibaba.otter.canal.deployer.CanalLauncher - ## the canal server is running now ......

具体instance的日志:

vi logs/example/example.log

2013-02-05 22:50:45.636 [main] INFO c.a.o.c.i.spring.support.PropertyPlaceholderConfigurer - Loading properties file from class path resource [canal.properties]

2013-02-05 22:50:45.641 [main] INFO c.a.o.c.i.spring.support.PropertyPlaceholderConfigurer - Loading properties file from class path resource [example/instance.properties]

2013-02-05 22:50:45.803 [main] INFO c.a.otter.canal.instance.spring.CanalInstanceWithSpring - start CannalInstance for 1-example

2013-02-05 22:50:45.810 [main] INFO c.a.otter.canal.instance.spring.CanalInstanceWithSpring - start successful....

使用说明

更改配置文件application.properties,修改canal服务端的连接信息和rabbitmq连接信息

启动CanalClientApplication

编辑用户表user数据,触发binlog

查看rabbitmq中是否有对应的队列新增,注意队列名命名为${database}.{table}.{eventType},例如测试的是test库的user表

插入user数据则队列为 TEST.USER.INSERT

修改user数据则队列为 TEST.USER.UPDATE

删除user数据则队列为 TEST.USER.DELETE

查看mongodb是否有对应的数据

参与贡献

Fork 本项目

新建 Feat_xxx 分支

提交代码

新建 Pull Request

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值