canal系列—canal客户端_“消息的消费”

来源:互联网 发布:网络出版物的图书 编辑:程序博客网 时间:2024/06/06 08:46

一、安装 canal

canal的安装请参考:canal系列—Linux下的安装配置(快速开始)

二、配置 canal.properties 文件

[root@localhost canal]# vim conf/canal.properties ##########################################################               common argument         ############# #################################################canal.id= 128   # 指定唯一的server idcanal.ip= 192.168.134.128   # 指定本机的ip地址,即canal所在机器的ip地址canal.port= 11111   # 指定监听的端口

三、启动 canal

[root@localhost canal]# ./bin/startup.sh

查看日志信息:

[root@localhost canal]# vim logs/canal/canal.log

这里写图片描述

可以看到,服务启动成功,并且监听在我们配置地址上。

四、在 Eclipse 中创建 maven 工程

下载阿里提供的一个客户端例子:https://github.com/alibaba/canal/archive/canal-1.0.19.zip,导入到Eclipse中。

打开类 com.alibaba.otter.canal.example.SimpleCanalClientTest ,修改 ip 地址为 canal 中配置的 ip 地址

这里写图片描述

五、运行Client

首先启动Canal Server。

启动Canal Client后,从控制台看不到任何输出信息(此时代表当前数据库无变更数据),说明没有报错,并且正在监听。

六、触发数据库变更

在 test 数据库中执行如下语句:

CREATE TABLE `xdual` (    `ID` INT (11) NOT NULL AUTO_INCREMENT,    `X` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,    PRIMARY KEY (`ID`)) ENGINE = INNODB AUTO_INCREMENT = 3 DEFAULT CHARSET = utf8;insert into xdual(id,x) values(null,now());

可以从控制台中看到:

***************************************************** Batch Id: [3] ,count : [1] , memsize : [271] , Time : 2017-12-13 09:43:07* Start : [mysql-binlog.000003:443:1513129388000(2017-12-13 09:43:08)] * End : [mysql-binlog.000003:443:1513129388000(2017-12-13 09:43:08)] ****************************************************----------------> binlog[mysql-binlog.000003:443] , name[test,xdual] , eventType : CREATE , executeTime : 1513129388000 , delay : -934ms sql ----> CREATE TABLE `xdual` (    `ID` INT (11) NOT NULL AUTO_INCREMENT,    `X` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,    PRIMARY KEY (`ID`)) ENGINE = INNODB AUTO_INCREMENT = 3 DEFAULT CHARSET = utf8***************************************************** Batch Id: [4] ,count : [3] , memsize : [155] , Time : 2017-12-13 09:43:13* Start : [mysql-binlog.000003:714:1513129394000(2017-12-13 09:43:14)] * End : [mysql-binlog.000003:888:1513129394000(2017-12-13 09:43:14)] ****************************************************================> binlog[mysql-binlog.000003:714] , executeTime : 1513129394000 , delay : -967ms BEGIN ----> Thread id: 11----------------> binlog[mysql-binlog.000003:844] , name[test,xdual] , eventType : INSERT , executeTime : 1513129394000 , delay : -963msID : 3    type=int(11)X : 2017-12-13 09:43:14    type=timestamp---------------- END ----> transaction id: 61================> binlog[mysql-binlog.000003:888] , executeTime : 1513129394000 , delay : -958ms
原创粉丝点击