• macOS、Linux CentOS 、Docker安装部署canal-server(canal-deployer)服务


    1、环境准备

    canal-server(canal-deployer)依赖jdk,需要先安装部署好jdk1.8

    mysql开启binlog

    2、安装部署

    2.1、Docker方式安装部署

    这里以1.1.6版本为例,其他版本选择:

    Docker Hub

    1. #拉取canal-server镜像
    2. docker pull canal/canal-server:v1.1.6
    3. #拉取完成后,先启动下canal-server,主要是为了从里面copy出配置文件
    4. docker run --name canal-server -d canal/canal-server:v1.1.6
    5. #新建canal-server目录用于存放相应配置文件和日志
    6. mkdir -p ~/canal-server
    7. #cp到指定刚刚新建的目录
    8. docker cp canal-server:/home/admin/canal-server/conf/canal.properties ~/canal-server
    9. docker cp canal-server:/home/admin/canal-server/conf/example/instance.properties ~/canal-server
    10. #修改canal.properties和instance.properties相关配置
    11. #具体需要修改的地方参考第3步
    12. vim ~/canal-server/canal.properties
    13. vim ~/canal-server/instance.properties
    14. #修改完成后,将之前的canal-server容器关闭并删除,重新起一个容器
    15. docker stop canal-server
    16. docker rm canal-server
    17. #启动新的容器,这里-v是将外部的文件挂载到容器内部 这样就不用每次启动都要配置参数了
    18. docker run --name canal-server -p 11111:11111 -d \
    19. -v ~/canal-server/instance.properties:/home/admin/canal-server/conf/example/instance.properties \
    20. -v ~/canal-server/canal.properties:/home/admin/canal-server/conf/canal.properties \
    21. -v ~/canal-server/logs/:/home/admin/canal-server/logs/ \
    22. canal/canal-server:v1.1.6
    23. #通过日志检查是否启动成功 两个日志都无报错表示启动成功了
    24. tail -1000f ~/canal-server/logs/canal/canal.log
    25. tail -1000f ~/canal-server/logs/example/example.log
    26. #启动、停止
    27. docker start canal-server
    28. docker stop canal-server

    2.2、压缩包方式安装部署

    2.2.1、下载

    下载并解压到指定目录,如/home/admin/

    https://github.com/alibaba/canal/releases/download/canal-1.1.6/canal.deployer-1.1.6.tar.gz

    tar -xvf canal.deployer-1.1.6.tar.gz

    2.2.2、修改配置,具体需要修改的地方参考第3步

    cd /home/admin/canal.deployer-1.1.6/conf

    vim canal.properties

    vim example/instance.properties

    2.2.3、启动、重启、停止等

    cd /home/admin/canal.deployer-1.1.6

    sh bin/startup.sh

    sh bin/restart.sh

    sh bin/stop.sh

    2.2.4、查看日志

    /home/admin/canal.deployer-1.1.6/logs/canal/canal.log

    /home/admin/canal.deployer-1.1.6/logs/example/example.log

    3、需要修改的配置(只修改列出来的部分,其余不用动)

    3.1、canal.properties

    1. #这里以rocketMQ为例
    2. canal.serverMode = rocketMQ
    3. #关闭tsdb主要为了解决:表结构发生改变导致不增量同步问题
    4. canal.instance.tsdb.enable = false
    5. #如果使用的RocketMQ为阿里云商业mq时,需要指定以下两个配置
    6. canal.aliyun.accessKey = accessKey
    7. canal.aliyun.secretKey = secretKey
    8. #RocketMQ相关配置
    9. rocketmq.producer.group = test
    10. rocketmq.enable.message.trace = false
    11. rocketmq.customized.trace.topic =
    12. rocketmq.namespace =
    13. rocketmq.namesrv.addr = 127.0.0.1:9876
    14. rocketmq.retry.times.when.send.failed = 0
    15. rocketmq.vip.channel.enabled = false
    16. rocketmq.tag =

    3.2、instance.properties

    1. #配置slaveId,不能和现有mysql从库的slaveId重复,默认为0
    2. canal.instance.mysql.slaveId=1
    3. #配置mysql连接
    4. canal.instance.master.address=127.0.0.1:3306
    5. canal.instance.dbUsername=root
    6. canal.instance.dbPassword=123456
    7. #需要同步的表
    8. canal.instance.filter.regex=.*\\..*
    9. #mq配置
    10. #mq里的topic名
    11. canal.mq.topic=example
    12. canal.mq.partition=0
    13. #分区数
    14. canal.mq.partitionsNum=4
    15. #库名.表名:唯一主键,多个表之间用逗号分隔
    16. canal.mq.partitionHash=.*\\..*:$pk$

    相关官方文档:

    Canal Kafka RocketMQ QuickStart · alibaba/canal Wiki · GitHub

  • 相关阅读:
    ubuntu20.4 执行sudo apt-get update出现错误 libnettle.so.6 动态链接库错误
    容器化 | 在 Kubernetes 上部署 RadonDB MySQL 集群
    STM32与陀螺仪、加速度计传感器的数据融合与姿态估计
    【数据结构初阶-排序】经典的排序算法,很有趣,有没有你不会的呢
    功率放大器主要性能指标是什么(功率放大器工作状态的分类)
    msf后渗透之获取登入password、远程控制、调用摄像头
    TCL管理Vivado工程
    《对线面试官》| 高频 Linux 面试题 Part1
    【嵌入式开源库】MultiTimer 的使用,一款可无限扩展的软件定时器
    ECMAScript 2022 正式发布,有你了解过的吗?
  • 原文地址:https://blog.csdn.net/q854214434/article/details/126782280