canal本地安装和使用

1、组件版本

canal.deployer-1.1.7

kafka_2.13-2.6.0

jdk8

apache-zookeeper-3.6.0-bin

mysql5.7

2、解压canal.deployer-1.1.7

2.1、修改canal.properties配置文件
##改为kafka
canal.serverMode=kafka

## 改为instance
canal.destinations = instance

## 改为true,如果新增库或者改库相关的ddl语句,如果binlog都推送到一个topic,canal监听就不会有问题,如果区分表会导致新产生的binlog无法推送到kafka
canal.instance.filter.query.ddl = true

## canal.instance.tsdb,新增库canal_tsdb
canal.instance.tsdb.url=jdbc:mysql://127.0.0.1:3306/canal_tsdb?useUnicode=true&&characterEncoding=UTF-8&connectTimeout=3000&autoReconnect=true&socketTimeout=300000&useSSL=false
canal.instance.tsdb.dbUsername=root
canal.instance.tsdb.dbPassword=123456

## canal默认使用h2,这里需要改为mysql
canal.instance.tsdb.spring.xml = classpath:spring/tsdb/mysql-tsdb.xml
2.2、修改example/instance.properties配置文件
## 配置mysql master数据库信息
canal.instance.master.address=127.0.0.1:3306
canal.instance.dbUsername=canal_test
canal.instance.dbPassword=123456

## 注释当前配置,就默认走按表推送数据至kafka,否则所有binlog都推送到同一个topic
#canal.mq.topic=canal_test
## 按表推送数据至kafka
canal.mq.dynamicTopic=mytest,.*,mytest.user,mytest\\..*,.*\\..*
2.3、给canal_test用户授权

检查binlog是否开启

show variables like '%log_bin%';

检查binlog日志格式是否为ROW

show variables like '%binlog_format%';

检查canal_test用户是否授予权限,如果没有,需要进行授权

show master status;
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
FLUSH PRIVILEGES;
2.5、启动canal

终端执行命令:sh bin/startup.sh,是否启动成功,查看日志canal.deployer-1.1.7/logs/canal/canal.log、canal.deployer-1.1.7/logs/instance/instance.log

### 本地部署 Canal Canal-Adapter 的方法与配置教程 #### 部署前准备 在开始之前,需确认已安装 Docker 并具备基本操作能力。此外,还需准备好 MySQL 数据库作为数据源[^1]。 --- #### 停止并清理现有容器 如果已有运行中的 `canal-adapter` 容器,则需要先停止并删除该容器: ```bash docker stop canal-adapter docker rm canal-adapter ``` 上述命令会终止当前运行的 `canal-adapter` 实例,并将其从系统中移除。 --- #### 启动新的 Canal-Adapter 容器 通过以下命令重新启动一个新的 `canal-adapter` 容器,并挂载自定义配置文件路径到容器内部: ```bash docker run --name canal-adapter \ -p 8081:8081 \ -v /opt/canal-adapter/conf:/opt/canal-adapter/conf \ -v /opt/canal-adapter/conf/rdb:/opt/canal-adapter/conf/rdb \ -d slpcat/canal-adapter:v1.1.5 ``` 此命令的关键参数解释如下: - `-p 8081:8081`: 将主机端口映射至容器内的服务端口。 - `-v /opt/canal-adapter/conf:/opt/canal-adapter/conf`: 挂载外部配置目录 `/opt/canal-adapter/conf` 到容器内对应位置。 - `-v /opt/canal-adapter/conf/rdb:/opt/canal-adapter/conf/rdb`: 进一步指定 RDB 类型的相关配置文件存储路径。 - `-d slpcat/canal-adapter:v1.1.5`: 使用官方镜像版本 `slpcat/canal-adapter:v1.1.5` 创建容器。 --- #### 配置文件说明 关于具体的配置文件结构及其作用,可参考阿里巴巴开源文档地址:[Canal Admin Guide](https://github.com/alibaba/canal/wiki/AdminGuide)[^2] 或更详细的章节链接 [Properties 文件配置](https://github.com/alibaba/canal/wiki/AdminGuide#properties%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6)[^3]。 以下是部分核心配置项概述: - **instance.properties**: 定义实例级别的同步规则,如目标数据库表名匹配模式等。 - **rdb.conf**: 描述关系型数据库的目标连接信息,包括用户名、密码以及 JDBC URL 地址等内容。 这些文件通常位于宿主机上的 `/opt/canal-adapter/conf/` 路径下,用户可以根据实际需求调整其内容后再执行容器化部署流程[^3]。 --- #### 功能扩展与管理界面支持 对于更高阶的功能实现,比如基于 Web UI 来完成对 Canal Server 及 Adapter 组件的操作维护工作,则推荐下载最新版压缩包资源——例如 `canal.admin-1.1.5.tar.gz` 中所包含的内容[^4]。它不仅提供了图形化的交互体验来简化日常运维任务(诸如新增修改订阅规则),还允许管理员在线监控整个系统的健康状态指标变化情况。 同时需要注意的是,在正式投入使用前务必仔细阅读相关发行日志文档,以便及时掌握新特性带来的改动点或者潜在兼容性风险提示信息。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

燕少༒江湖

给我一份鼓励!谢谢!

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

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

打赏作者

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

抵扣说明:

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

余额充值