使用 Docker 部署 canal,并将消息推送到 RabbitMQ

配置 canal

1. 拉取镜像

docker pull canal/canal-server:latest

2. 启动容器

docker run -d canal/canal-server:latest

3. 从容器中拷贝出配置文件

docker cp 容器名或者容器ID:/home/admin/canalserver/conf/canal.properties ./conf/
docker cp 容器名或者容器ID:/home/admin/canal-server/conf/test/instance.properties ./conf/

4. 修改 canal.properties 文件,配置输出到 RabbitMQ,有以下几处要改:

##################################################
######### 		    RabbitMQ	     #############
##################################################
rabbitmq.host = 127.0.0.1
rabbitmq.exchange = exchange.canal
rabbitmq.username = guest
rabbitmq.password = guest

5.修改 instance.properties 文件:

# position info
# MySQL 地址 + 端口
canal.instance.master.address=127.0.0.1:3306
# 数据库账号密码
canal.instance.dbUsername=root
canal.instance.dbPassword=root

# 监听的数据库表
canal.instance.filter.regex=test.user

# mq config
# RabbitMQ Routing key
canal.mq.topic=canal-routing-key

6. docker-compose 文件

version: "3.8"

services:
  canal-server:
    image: canal/canal-server:latest
    container_name: canal-server
    restart: unless-stopped
    # host 网络模式只对 Docker 17.06 以及更高版本的 swarm 服务可用
    network_mode: bridge
    ports:
      - 11111:11111
    volumes:
      - ./conf/canal.properties:/home/admin/canal-server/conf/canal.properties
      - ./conf/instance.properties:/home/admin/canal-server/conf/test/instance.properties
      - ./log/:/home/admin/canal-server/logs/

7. 启动服务

ocker-compose up -d

注意:发现启动服务失败,别担心,需要配置一下RabbitMQ

配置 RabbitMQ

1. 新建exchange

在这里插入图片描述

2. 新建队列

在这里插入图片描述

3. 绑定队列

在这里插入图片描述
在这里插入图片描述

4. 注意

  • 第3步一定要与canal.properties配置文件rabbitmq.exchange = exchange.canal一致
  • 第4步一定要与instance.properties配置文件canal.mq.topic=canal-routing-key一致

完整配置文件

地址:https://gitee.com/dadeity/docker.git

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>