canal项目位于官方主页,是阿里开源的mysql binlog操作中间件,其介绍在主页都有.
1、git下载canal
在主页的release目录,下载对应版本的canal即可
canal.deployer-1.1.6.tar.gz是canal的运行时,相关数据库的配置都在其下面.
canal.admin-1.1.6.tar.gz是canal的集群管理web站点,cannal可以集群部署
分别下载指定版本的以上所有内容
admin
2、安装jdk
canal运行依赖jdk,下载对应版本的jdk,windows下面需要配置环境变量
新增JAVA_HOME环境变量 值为jdk地址如:E:jdk1.8.0_201jdk1.8.0_201
PATH中新增%JAVA_HOME%bin 路径
3、编写配置文件
参考官方文档Quick Start,配置如下:
canal支持集群部署,这里默认配置文件指向canal.destinations = example所以配置文件路径默认为canal.deployer-1.1.6confexample下的instance.properties文件.这里可以用逗号分割,分配多个.
代码语言:javascript复制## mysql serverId
canal.instance.mysql.slaveId = 666(不能和集群中的节点一样)
#position info
canal.instance.master.address = 数据库地址
canal.instance.master.journal.name =
canal.instance.master.position =
canal.instance.master.timestamp =
#canal.instance.standby.address =
#canal.instance.standby.journal.name =
#canal.instance.standby.position =
#canal.instance.standby.timestamp =
#username/password,需要改成自己的数据库信息
canal.instance.dbUsername = 数据库用户名
canal.instance.dbPassword = 数据库密码
4、配置canval admin 官方文档
canval admin是canval运行时集群管理web站点,用于管理所有的canal节点.
4.1 canal-template.properties 配置文件
位于conf文件夹下,主要配置解析如下:
代码语言:javascript复制# tcp bind ip
canal.ip =
# register ip to zookeeper
canal.register.ip =
canal.port = 11111
canal.metrics.pull.port = 11112
# canal instance user/passwd
# canal.user = canal
# canal.passwd = E3619321C1A937C46A0D8BD1DAC39F93B27D4458
# canal admin config
#canal.admin.manager = 127.0.0.1:8089 默认访问地址
canal.admin.port = 11110 端口
canal.admin.user = admin 默认访问用户名
canal.admin.passwd = 4ACFE3202A5FF5CF467898FC58AAB1D615029441 默认密码 123456
# admin auto register
#canal.admin.register.auto = true
#canal.admin.register.cluster =
#canal.admin.register.name =
4.2 canal_manager数据库构建
canal集群管理站点运行依赖数据库,所以需要新建一个管理数据库,数据库表创建语句位于canal.admin-1.1.6confcanal_manager.sql
4.3 编辑application.yml
代码语言:javascript复制server:
port: 8089
spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT 8
spring.datasource:
address: canal_manager数据库地址
database: canal_manager
username: 数据库访问用户名
password:数据库访问密码
标黄处需要修改.
5、分别启动canal和canal-admin 启动文件位于bin文件夹下的start.bat
6、重置Canal消费position
修改confexample 下的meta.dat,如下:
代码语言:javascript复制{
"clientDatas": [
{
"clientIdentity": {
"clientId": 666,
"destination": "example",
"filter": "quzhou_baseasset.dh_log"
},
"cursor": {
"identity": {
"slaveId": -1,
"sourceAddress": {
"address": "102.2.12.3",
"port": 3306
}
},
"postion": {
"gtid": "",
"included": false,
"journalName": "binlog.000078",
"position": 380084023,
"serverId": 1,
"timestamp": 1661807567000
}
}
}
],
"destination": "example"
}
修改position节点下的timestamp或者journalName并指定position.