(三十三)大数据实战——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日志功能

(三十三)大数据实战——Canal安装部署及其应用案例实战_第1张图片

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

(三十三)大数据实战——Canal安装部署及其应用案例实战_第2张图片

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

(三十三)大数据实战——Canal安装部署及其应用案例实战_第3张图片

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

(三十三)大数据实战——Canal安装部署及其应用案例实战_第4张图片

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

(三十三)大数据实战——Canal安装部署及其应用案例实战_第5张图片

③在/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安装部署及其应用案例实战_第6张图片

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

- 修改canal通用配置

(三十三)大数据实战——Canal安装部署及其应用案例实战_第7张图片

- 配置kafka集群地址

(三十三)大数据实战——Canal安装部署及其应用案例实战_第8张图片

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

- 配置mysql服务地址

(三十三)大数据实战——Canal安装部署及其应用案例实战_第9张图片

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

(三十三)大数据实战——Canal安装部署及其应用案例实战_第10张图片

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

(三十三)大数据实战——Canal安装部署及其应用案例实战_第11张图片

⑥ 启动zookeeper集群和kafka集群

(三十三)大数据实战——Canal安装部署及其应用案例实战_第12张图片

⑦在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安装部署及其应用案例实战_第13张图片

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

(三十三)大数据实战——Canal安装部署及其应用案例实战_第14张图片

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

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

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

(三十三)大数据实战——Canal安装部署及其应用案例实战_第15张图片

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

(三十三)大数据实战——Canal安装部署及其应用案例实战_第16张图片

结语

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

你可能感兴趣的:(大数据,大数据)