(三十三)大数据实战——Canal安装部署及其应用案例实战

前言

Canal 是一个开源的MySQL数据库binlog监听和解析框架,用于实时捕获 MySQL数据库的binlog 变更事件,并将其解析成易于消费的数据格式。Canal 可以实时监听 MySQL 数据库的 binlog,并即时捕获数据库的数据变更事件。Canal可以将捕获到的binlog事件解析成易于消费的数据格式,如 SON格式,方便后续处理与消费。Canal 通过增量订阅和解析 binlog 的方式,避免了全量数据的传输和处理,提供了较高的性能和吞吐量。Canal 支持灵活的配置,可以根据需求过滤和选择需要监听和解析的表和字段,避免不必要的数据传输和处理。Canal 提供了多种输出方式,如Tcp、 Kafka、RocketMQ、ActiveMQ 等消息中间件,也可以直接写入文件或发送到远程服务等。

本节内容我们主要介绍如何搭建Canal服务,实现数据库binlog日志监控数据的传输,并实现一个案例将日志数据发送给kafka消息中间键消费使用。关于java、mysql、zookeeper、kafka等相关在案例中使用的服务搭建过程,本节内容不在重复介绍,可查看作者往期博客内容。

正文

①开启mysql的binlog日志,并重启mysql

- 在/etc/my.cnf配置文件中开启canal数据库的binlog日志功能

- 重启mysql数据库使binlog配置生效

- 创建一个canal数据库和一张test表用于测试

- 创建一个canal用户并授权canal数据库的操作权限

②上传Canal安装包到hadoop101服务器/opt/module目录下

③在/opt/module目录下创建canal目录,解压Canal安装包到/opt/module/canal目录下

mkdir -p /opt/module/canal
tar -zxvf canal.deployer-1.1.2.tar.gz -C /opt/module/canal

④在canal安装目录/opt/module/canal/conf下修改canal配置文件canal.properties,该文件中可以配置多个监控实例,这里配置example下的实例

- 修改canal通用配置

- 配置kafka集群地址

⑤在canal安装目录/opt/module/canal/conf/example下修改canal实例配置文件instance.properties

- 配置mysql服务地址

- 配置接MySQL授权的用户名和密码

- 配置kafka消费者主题和分区数

⑥ 启动zookeeper集群和kafka集群

⑦在kafka创建一个canal主题3分区3副本,对应配置文件instance.properties中的主题配置

kafka-topics.sh --bootstrap-server hadoop101:9092 --create --topic canal --partitions 3 --replication-factor 3

⑧使用bin目录下的脚本启动canal监控服务,开始监控mysql配置的binlog日志

⑨查看canal启动进程,查看canal是否启动成功

⑩开启一个kafka消费者,看是否能消费到canal发送的消息

kafka-console-consumer.sh --bootstrap-server hadoop101:9092 --topic canal

⑪修改canal数据库表test,插入一条数据

⑫查看kafka消费情况,能够消费到主题数据

结语

至此,关于Canal安装部署及其应用案例实战的内容到这里就结束了,我们下期见。。。。。。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

厉害哥哥吖

您的支持是我创作下去的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值