canal icon indicating copy to clipboard operation
canal copied to clipboard

docker compose 部署的canal-server、canal-admin,canal-server注册不到canal-admin中,版本 v1.1.7

Open XiaoNing0430 opened this issue 1 year ago • 2 comments

docker compose 部署的canal-server、canal-admin,canal-server注册不到canal-admin中

镜像版本

canal/canal-server:v1.1.7
canal/canal-admin:v1.1.7

canal-server配置

# 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 = canal-single-node
canal.admin.register.name = 

canal-admin配置

spring.datasource:
  address: mysql-8.3.0:3306
  database: canal_manager
  username: canal
  password: canal
  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

canal-server报错如下

image

XiaoNing0430 avatar Sep 17 '24 12:09 XiaoNing0430

canal_manager库 有 这个 canal这个用户吗

zhangsanhelisi avatar Sep 18 '24 07:09 zhangsanhelisi

canal_manager库 有 这个 canal这个用户吗

数据库用户吗?有的

XiaoNing0430 avatar Sep 18 '24 12:09 XiaoNing0430

需要先在canal-admin中创建名字为canal-single-node的集群,因为配置制定了canal.admin.register.cluster = canal-single-node

dyrnq avatar Oct 24 '24 07:10 dyrnq

或者你的意思是这样?

canal.admin.register.cluster = 
canal.admin.register.name = canal-single-node

dyrnq avatar Oct 24 '24 07:10 dyrnq

Image

#Canal Admin 地址及端口(用于定位管理端) canal.admin.manager 需要是canal.admin的宿主机ip地址,不能是docker 容器名|ip!!!!否则会自动注册不进去 canal.admin.manager = 192.168.2.195:8089

xuronghai93 avatar May 07 '25 09:05 xuronghai93

docker默认的network不能使用容器名! 需要不是default的network,然后再用容器的名字就可以了!

dyrnq avatar May 07 '25 12:05 dyrnq

docker默认的network不能使用容器名! 需要不是default的network,然后再用容器的名字就可以了!

docker-compose用的就是新建的网桥,还是报错,改成宿主机ip地址就可以了

canal.admin.manager: canal_admin:8089 canal-server注册报错(canal-server容器可以ping通canal_admin)

canal.admin.manager: 192.168.2.195:8089 成功自动注册了

` version: '3'

networks: canal: driver: bridge ipam: config: - subnet: 172.18.0.0/16

services: canal_admin: image: canal/canal-admin:v1.1.8 container_name: canal_admin
restart: unless-stopped
volumes:
# - "./canal/canal-admin/bin/startup.sh:/home/admin/canal-admin/bin/startup.sh" - "/opt/docker/canal/canal-admin/logs:/home/admin/canal-admin/logs" environment: TZ: Asia/Shanghai LANG: en_US.UTF-8 canal.adminUser: admin canal.adminPasswd: 123456 spring.datasource.address: 192.168.2.195:3306 spring.datasource.database: canal_manager spring.datasource.username: root spring.datasource.password: root@2020 ports: - "8089:8089" networks: - canal

canal_server: image: canal/canal-server:v1.1.8 container_name: canal_server
restart: unless-stopped
volumes:
- "/opt/docker/canal/canal-server/conf:/home/admin/canal-server/conf" - "/opt/docker/canal/canal-server/logs:/home/admin/canal-server/logs" environment:
TZ: Asia/Shanghai LANG: en_US.UTF-8 canal.admin.manager: 192.168.2.195:8089 canal.admin.port: 11110 canal.admin.user: admin canal.admin.passwd: 6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 ports: - "11110:11110" - "11111:11111" - "11112:11112" depends_on: - canal_admin links: - canal_admin networks: - canal

`

xuronghai93 avatar May 08 '25 01:05 xuronghai93