栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

canal

Java 更新时间:发布时间: 百科书网 趣学号

目录
  • 搭建canal
  • 测试canal

监控MySQL的binlog的工具

搭建canal

1、开启mysql binlog

cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

修改my.cnf

vim /etc/my.cnf

[mysqld]
打开binlog
log-bin=mysql-bin
选择ROW(行)模式
binlog-format=ROW
配置MySQL replaction需要定义,不要和canal的slaveId重复
server_id=1

改了配置文件之后,重启MySQL,使用命令查看是否打开binlog模式:

service mysqld restart

show variables like ‘log_bin’;

2、上传解压配置环境变量
mkdir canal
tar -xvf canal.deployer-1.1.4.tar.gz -C canal

3、修改配置文件conf/example/instance.properties

mysql 地址
canal.instance.master.address=master:3306
mysql用户名
canal.instance.dbUsername=root
mysql密码
canal.instance.dbPassword=123456

数据写入kafka 的topic
canal.mq.topic=example
监控gma数据库,不同的表发送到表名的topic上, tast mysql的库名
canal.mq.dynamicTopic=student…*

4、修改配置文件conf/canal.properties

zk地址
canal.zkServers = master:2181,node1:2181,node2:2181

数据保存到kafka
canal.serverMode = kafka

kafka集群地址
canal.mq.servers = master:9092,node1:9092,node2:9092

启动

cd /usr/local/soft/canal/bin

./startup.sh

测试canal

在test数据库创建一个订单表,并且执行几个简单的DML:

use `student`;

# 创建表
CREATE TABLE `order`
(
    id          BIGINT UNIQUE PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
    order_id    VARCHAR(64)   COMMENT '订单ID',
    amount      DECIMAL(10, 2) COMMENT '订单金额',
    create_time DATETIME       COMMENT '创建时间',
    UNIQUE uniq_order_id (`order_id`)
) COMMENT '订单表';

# 插入数据

INSERT INTO `order`(order_id, amount) VALUES ('10087', 999);
UPDATe `order` SET amount = 10087 WHERe order_id = '10086';
DELETE  FROM `order` WHERe order_id = '10086';

6、可以利用Kafka的kafka-console-consumer或者Kafka Tools查看test这个topic的数据:

kafka-console-consumer.sh --bootstrap-server master:9092,node1:9092,node2:9092 --from-beginning --topic example

我们发现,在MySQL端做的操作,在kafka中都可以监视到,这边Kafka会帮我们监视出来json数据格式的数据

将数据放到idea中,ctrl+alt+l 也可以将整体的数据格式显现出来

感谢阅读,我是啊帅和和,一位大数据专业大四学生,祝你快乐。

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/602291.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号