Canal相关

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_201\jdk1.8.0_201

PATH中新增%JAVA_HOME%\bin 路径

 

3、编写配置文件

参考官方文档Quick Start,配置如下:

canal支持集群部署,这里默认配置文件指向canal.destinations = example所以配置文件路径默认为\canal.deployer-1.1.6\conf\example下的instance.properties文件.这里可以用逗号分割,分配多个.

## 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 = 数据库密码
canal.instance.defaultDatabaseName =数据库名称 canal.instance.connectionCharset = UTF-8 #table regex canal.instance.filter.regex = .\*\\\\..\*(表过滤器)

 

4、配置canval admin 官方文档

canval admin是canval运行时集群管理web站点,用于管理所有的canal节点.

4.1 canal-template.properties 配置文件

位于conf文件夹下,主要配置解析如下:

# 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.6\conf\canal_manager.sql

 

4.3 编辑application.yml

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:数据库访问密码
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

标黄处需要修改.

 

5、分别启动canal和canal-admin   启动文件位于bin文件夹下的start.bat

 

6、重置Canal消费position

修改\conf\example 下的meta.dat,如下:

{
  "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.

posted @ 2022-09-06 14:54  郑小超  阅读(186)  评论(0编辑  收藏  举报