canal 简介
https://github.com/alibaba/canal
核心模型
canal-admin的核心模型:
集群:对应一组canal-server,组合在一起面向高可用HA的运维
server:对应canal-server,一个server里可以包含多个instance
instance:对应canal-server里的instance,一个最小的订阅mysql的队列
安装canal-admin
canal-admin 提供可视化运维配置管理相关的管理功能,此组件可以不用安装, 该组件基于springboot创建
下载链接
创建数据库,执行/resource/canal_manager.sql
修改application.xml ,通常修改数据库链接及用户名密码即可
server:
port: 8089
spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
spring.datasource:
address: 127.0.0.1:3306
database: canal_manager
username: canal
password: canal
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://${spring.datasource.address}/${spring.datasource.database}?useUnicode=true&characterEncoding=UTF-8&useSSL=false
hikari:
maximum-pool-size: 30
minimum-idle: 1
canal:
adminUser: admin
adminPasswd: admin
启动canal-admin
bin/startup.sh
浏览器运行 http://192.168.xxx.xxx:8089/,默认用户名和密码为:admin/123456
创建集群
使用集群模式创建,方便统一管理,一个节点也可以创建集群
点击操作,创建主配置,主配置是公共配置,作为server的默认配置,
通常需要修改的配置项如下:
canal.zkServers = 192.168.1.161:2181
# tcp, kafka, rocketMQ, rabbitMQ
canal.serverMode = kafka
# table meta tsdb info
canal.instance.tsdb.enable = true
canal.instance.tsdb.url = jdbc:mysql://dbhost:3306/meta-data?useUnicode=true&characterEncoding=UTF-8&useSSL=false
canal.instance.tsdb.dbUsername = canal
canal.instance.tsdb.dbPassword = canal
# 修改 instance 配置模式
canal.instance.global.mode = manager
# instance 的点位