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

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

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

二、配置 canal.properties 文件
  1. [root@localhost canal]# vim conf/canal.properties
  2. #################################################
  3. ######### common argument ############# ################################################# canal.id= 128 # 指定唯一的server id canal.ip= 192.168.134.128 # 指定本机的ip地址,即canal所在机器的ip地址 canal.port= 11111 # 指定监听的端口
三、启动 canal
  1. [root@localhost canal]# ./bin/startup.sh

查看日志信息:

  1. [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 数据库中执行如下语句:

  1. 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;
  2. insert into xdual(id,x) values(null,now());

可以从控制台中看到:

  1. ****************************************************
  2. * Batch Id: [3] ,count : [1] , memsize : [271] , Time : 2017-12-13 09:43:07
  3. * Start : [mysql-binlog.000003:443:1513129388000(2017-12-13 09:43:08)]
  4. * End : [mysql-binlog.000003:443:1513129388000(2017-12-13 09:43:08)]
  5. ****************************************************
  6. ----------------> binlog[mysql-binlog.000003:443] , name[test,xdual] , eventType : CREATE , executeTime : 1513129388000 , delay : -934ms
  7. sql ----> CREATE TABLE `xdual` (
  8. `ID` INT (11) NOT NULL AUTO_INCREMENT,
  9. `X` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  10. PRIMARY KEY (`ID`)
  11. ) ENGINE = INNODB AUTO_INCREMENT = 3 DEFAULT CHARSET = utf8
  12. ****************************************************
  13. * Batch Id: [4] ,count : [3] , memsize : [155] , Time : 2017-12-13 09:43:13
  14. * Start : [mysql-binlog.000003:714:1513129394000(2017-12-13 09:43:14)]
  15. * End : [mysql-binlog.000003:888:1513129394000(2017-12-13 09:43:14)]
  16. ****************************************************
  17. ================> binlog[mysql-binlog.000003:714] , executeTime : 1513129394000 , delay : -967ms
  18. BEGIN ----> Thread id: 11
  19. ----------------> binlog[mysql-binlog.000003:844] , name[test,xdual] , eventType : INSERT , executeTime : 1513129394000 , delay : -963ms
  20. ID : 3 type=int(11)
  21. X : 2017-12-13 09:43:14 type=timestamp ----------------
  22. END ----> transaction id: 61
  23. ================> binlog[mysql-binlog.000003:888] , executeTime : 1513129394000 , delay : -958ms

相关文章