Canal~2:安装canal

1、下载地址

https://github.com/alibaba/canal/releases

2、配置mysql

注意:此处mysql版本是5.7,而且为了方便是在docker中安装的,所以路径可能与直接在linux中有所不同
(不是docker安装的路径:/etc/my.cnf)
路径:/etc/mysql/mysql.conf.d/mysqld.cnf
在[mysqld]下添加配置:

[mysqld]
log-bin=mysql-bin   # 开启 binlog
binlog-format=ROW   # 选择 ROW 模式
server_id=1   # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复
binlog-do-db=bigdata  # 具体要同步的数据库

binlog-do-db=bigdata
注意: binlog-do-db 根据自己的情况进行修改,指定具体要同步的数据库(就是要监测的数据库)

重启mysql使其生效

docker restart mysql

创建canal数据库用户

CREATE USER canal IDENTIFIED BY 'canal';  
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
FLUSH PRIVILEGES;

登陆mysql查看是否修改配置成功
mysql> show variables like ‘log_bin%’;
±--------------------------------±-------------------------------+
| Variable_name | Value |
±--------------------------------±-------------------------------+
| log_bin | ON |
| log_bin_basename | /var/lib/mysql/mysql-bin |
| log_bin_index | /var/lib/mysql/mysql-bin.index |
| log_bin_trust_function_creators | OFF |
| log_bin_use_v1_row_events | OFF |
±--------------------------------±-------------------------------+

mysql> show variables like ‘binlog_format%’;
±--------------±------+
| Variable_name | Value |
±--------------±------+
| binlog_format | ROW |
±--------------±------+

3、安装

解压

注意: canal解压后是散的,我们在指定解压目录的时候需要将canal指定上

mkdir /opt/bigdata/canal

tar -zxvf /opt/install/canal.deployer-1.1.5-SNAPSHOT.tar.gz -C /opt/bigdata/canal
修改配置
路径:/opt/bigdata/canal1.1.5/conf/canal.properties

这个文件是 canal 的基本通用配置, canal 端口号默认就是 11111·
修改 canal 的输出 model,默认 tcp,改为输出到 kafka
tcp 就是输出到 canal 客户端,通过编写 Java 代码处理
在这里插入图片描述
修改 Kafka 集群的地址
在这里插入图片描述
如果创建多个实例(单例测试不必修改)
通过前面 canal 架构,我们可以知道,一个 canal 服务中可以有多个 instance, conf/
下的每一个 example 即是一个实例,每个实例下面都有独立的配置文件。默认只有一个实
例 example,如果需要多个实例处理不同的 MySQL 数据的话,直接拷贝出多个 example,
并对其重新命名,命名和配置文件中指定的名称一致,然后修改 canal.properties 中的
canal.destinations=实例 1,实例 2,实例 3。
在这里插入图片描述

路径:/opt/bigdata/canal1.1.5/conf/example/instance.properties

我们这里只读取一个 MySQL 数据,所以只有一个实例, 这个实例的配置文件在
conf/example 目录下
配置 MySQL 服务器地址
在这里插入图片描述
配置连接 MySQL 的用户名和密码,默认就是我们前面授权的 canal
在这里插入图片描述
修改输出到 Kafka 的主题以及分区数
在这里插入图片描述
注意:默认还是输出到指定 Kafka 主题的一个 kafka 分区,因为多个分区并行可能会打乱
binlog 的顺序
如果要提高并行度,首先设置 kafka 的分区数>1,然后设置 canal.mq.partitionHash 属性

4、简单使用

  • 启动zk
  • 启动kafka
[root@cai bin]# ./kafka-server-start.sh ../config/server.properties 

后台启动

[root@cai bin]# ./kafka-server-start.sh -daemon ../config/server.properties 
  • 启动mysql
  • 在kafka中创建与canal instance.properties配置文件中一样的topic名称
./kafka-topics.sh --create --topic mysql_kafka --zookeeper 192.168.145.131:2181 --partitions 1 --replication-factor 1 Created topic "mysql_kafka".
  • 查看topic
./kafka-topics.sh --zookeeper 192.168.145.131:2181 --list
  • 启动 canal
[root@love canal1.1.5]# ./bin/startup.sh
  • 向mysql bigdata库中创建表,插入数据
  • 查看kafka topic(mysql_kafka )消费者
kafka-console-consumer.sh --bootstrap-server 192.168.145.131:9092 --topic mysql_kafka --from-beginning

在这里插入图片描述
可以使用kafkade 图形化工具查 kafka tools 看,下载地址:https://www.kafkatool.com/download.html
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值