H__D  

背景

  使用 Canal Admin搭建 Canal Server 集群

部署情况

  

部署Canal Admin

  参考:https://github.com/alibaba/canal/wiki/Canal-Admin-QuickStart

  1、下载 canal, 访问 release 页面 , 选择需要的包下载, 如以 1.1.7 版本为例

  2、解压:tar -zxvf canal.admin-1.1.7.tar.gz

    

    进入解压目录

    

  3、初始化数据库 conf/canal_manager.sql

    

    

  4、修改配置,可以直接使用默认配置,修改对应数据库地址即可

    命令:vim conf/application.yml

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: root
  password: 123456
  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 Admin  

    命令:sh bin/startup.sh

  6、日志目录logs

使用Canal Admin

  参考:https://github.com/alibaba/canal/wiki/Canal-Admin-Guide

  1、使用浏览器访问,地址:http://127.0.0.1:8089/,账号密码:admin/123456

    

   2、新增集群

    

  3、修改著配置

    

# zk 的地址需要指定
canal.zkServers = 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183
# tcp, kafka, rocketMQ, rabbitMQ
canal.serverMode = kafka
# 此配置需要修改成 default-instance
canal.instance.global.spring.xml = classpath:spring/default-instance.xml
# 这个不需要指定,在admin上手动添加
canal.destinations = 
# 配置kafka地址
kafka.bootstrap.servers = 192.168.1.1:9092,192.168.1.2:9092,192.168.1.3:9092

部署Canal Server

  1、下载 canal, 访问 release 页面 , 选择需要的包下载, 如以 1.1.7 版本为例

  2、canal-server端配置,使用canal_local.properties的配置覆盖canal.properties

   canal_server_01配置如下

# register ip
canal.register.ip = 127.0.0.1

# canal server 的端口
canal.port = 11111
# canal server 的metrics 端口
canal.metrics.pull.port = 11112

# canal admin config
canal.admin.manager = 127.0.0.1:8089
canal.admin.port = 11110
canal.admin.user = admin
canal.admin.passwd = 4ACFE3202A5FF5CF467898FC58AAB1D615029441
# admin auto register
canal.admin.register.auto = true
canal.admin.register.cluster = canal_test
canal.admin.register.name = canal_server_01

  canal_server_02配置如下

# register ip
canal.register.ip = 127.0.0.1

# canal server 的端口
canal.port = 11114
# canal server 的metrics 端口
canal.metrics.pull.port = 11115

# canal admin config
canal.admin.manager = 127.0.0.1:8089
canal.admin.port = 11113
canal.admin.user = admin
canal.admin.passwd = 4ACFE3202A5FF5CF467898FC58AAB1D615029441
# admin auto register
canal.admin.register.auto = true
canal.admin.register.cluster = canal_test
canal.admin.register.name = canal_server_02

  3、启动admin-server即可。或在启动命令中使用参数:sh bin/startup.sh local 指定配置

使用Canal Server

  1、查看 canal admin 
    

   2、新建instance,选择载入模板,设置实例名,与关联对应集群

# canal 实例作为mysql从节点ID
canal.instance.mysql.slaveId=20

# canal 复制的mysq 主节点信息
canal.instance.master.address=127.0.0.1:3306

# 账号/密码
canal.instance.dbUsername=canal
canal.instance.dbPassword=canal

# 配置消息的topic地址
canal.mq.topic=canal_test

  3、启动实例

  

  4、修改数据库,验证数据是否同步到 kafka

 

 

参考:https://juejin.cn/post/6970128129318715399

posted on 2024-03-28 14:10  H__D  阅读(34)  评论(0编辑  收藏  举报