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

x33g5p2x  于2021-12-24 转载在 其他  
字(2.3k)|赞(0)|评价(0)|浏览(501)
一、安装 canal

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

二、配置 canal.properties 文件
[root@localhost canal]# vim conf/canal.properties 

#################################################
######### common argument ############# ################################################# canal.id= 128 # 指定唯一的server id canal.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 : -963ms
ID : 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

相关文章