Sign inSign up

brock0624/canal-deployer

By brock0624

•Updated over 6 years ago

通过docker运行canal-server服务

Image
0

92

brock0624/canal-deployer repository overview

本次构建在树莓派64位系统环境下

注意 : 关闭所有机器的防火墙,同时注意启动可以相互telnet ip 端口,可以加入到自己创建的网络mybridge

⁠1. 数据库环境准备

本次使用的mysql版本为8.0

初始化mysql数据库canal_manger

创建canal用户

CREATE USER canal IDENTIFIED BY 'canal';  
GRANT ALL PRIVILEGES ON canal_manager.* TO 'canal'@'%' ;
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
FLUSH PRIVILEGES;

开启 mysql的Binlog 写入功能,配置 binlog-format 为 ROW 模式

[mysqld]
log-bin=mysql-bin # 开启 binlog
binlog-format=ROW # 选择 ROW 模式
server_id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复

进行确认

show variables like 'log_bin';

结果为"ON",binlog功能就已经开启了

⁠2. canal-admin

创建本地目录

# mkdir -p /data/docker/brock0624/canal-admin/logs
# mkdir -p /data/docker/brock0624/canal-admin/conf

创建本地配置文件

# vi /data/docker/brock0624/canal-admin/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: canal
  password: canal
  driver-class-name: com.mysql.cj.jdbc.Driver
  url: jdbc:mysql://${spring.datasource.address}/${spring.datasource.database}?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
  hikari:
    maximum-pool-size: 30
    minimum-idle: 1

canal:
  adminUser: admin
  adminPasswd: admin

注:mysql的ip为自己mysql数据库ip,如果是docker可以用link

启动容器

docker run -itd \
    --name canal-admin \
    --network mybridge --network-alias canal-admin \
    -v /data/docker/brock0624/canal-admin/conf/application.yml:/opt/canal-admin/conf/application.yml \
    -v /data/docker/brock0624/canal-admin/logs:/opt/canal-admin/logs \
    -p 8089:8089 \
    brock0624/canal-admin:1.1.4

需要到容器中手动启动服务

docker exec -it canal-admin sh

访问网址http://192.168.31.119:8089/⁠

默认账号密码: admin\123456

可以在数据库中修改

⁠3. canal-deployer单节点部署

创建本地目录

# mkdir -p /data/docker/brock0624/canal-standalone/conf
# mkdir -p /data/docker/brock0624/canal-standalone/logs

创建本地配置文件

# vi /data/docker/brock0624/canal-standalone/conf/canal.properties

# register ip
canal.register.ip = canal-standalone

# canal admin config
canal.admin.manager = canal-admin: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 =

启动容器

docker run -itd \
    --name canal-standalone \
    --network mybridge --network-alias canal-deployer \
    -v /data/docker/brock0624/canal-standalone/conf/canal.properties:/opt/canal/conf/canal.properties \
    -v /data/docker/brock0624/canal-standalone/logs:/opt/canal/logs \
    -p 11110:11110 \
    -p 11111:11111 \
    brock0624/canal-deployer:1.1.4

在页面上进行canal.properties配置

Tag summary

Content type

Image

Digest

Size

171.9 MB

Last updated

over 6 years ago

docker pull brock0624/canal-deployer:1.1.4