https://githubfast.com/alibaba/canal/wiki/Canal-Admin-QuickStart
E:\workspace\canal\canal.admin-1.1.7-SNAPSHOT\conf
Canal Admin 设计理念:
canal-admin的核心模型主要有:
- instance,对应 canal-server 里的 instance,一个最小的订阅 MySQL 的队列
- server,对应 canal-server,一个 server 里可以包含多个 instance
- 集群,对应一组 canal-server,组合在一起面向高可用 HA 的运维
有了任务和资源的绑定关系后,对应的资源服务就会接收到这个任务配置,在对应的资源上动态加载 instance,并提供服务(动态加载的过程,有点类似于之前的 autoScan 机制,只不过基于 canal-admin 之后可就以变为远程的 web 操作,而不需要在机器上运维配置文件)
将 server 抽象成资源之后,原本 canal-server 运行所需要的 canal.properties/instance.properties 配置文件就需要在 web ui 上进行统一运维,每个 server 只需要以最基本的启动配置 (比如知道一下 canal-admin 的 manager 地址,以及访问配置的账号、密码即可)
admin搭建
1、创建数据库canal_manager,导入canal_manager.sql
2、修改配置连接数据库
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
3、启动\bin\startup.bat
可以通过 http://127.0.0.1:8089/ 访问,默认密码:admin/123456
4、修改cannal-server配置。让它连接admin而不是用自己的本地文件存储
# register ip
canal.register.ip =
# 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 =
5、启动admin-server即可。
注意:
1、修改成管理方式之后,之前的server 配置、instant配置全动态都保存到Canal admin的数据库里面了。所以之前在磁盘上的的配置文件就不生效了.
2、所以你可能会看到server的报错:Caused by: com.alibaba.otter.canal.common.CanalException: instance : my1 config is not found。明明已经有my1这个instance了(磁盘上有文件夹)。你只需在后台添加一个my1的 instance 就行了。配置直接copy保存就行了