https://githubfast.com/alibaba/canal/wiki/Canal-Admin-QuickStart
E:\workspace\canal\canal.admin-1.1.7-SNAPSHOT\conf
Canal Admin 設(shè)計(jì)理念:
canal-admin的核心模型主要有:
- instance,對(duì)應(yīng) canal-server 里的 instance肠套,一個(gè)最小的訂閱 MySQL 的隊(duì)列
- server墨缘,對(duì)應(yīng) canal-server衅疙,一個(gè) server 里可以包含多個(gè) instance
- 集群,對(duì)應(yīng)一組 canal-server训貌,組合在一起面向高可用 HA 的運(yùn)維
有了任務(wù)和資源的綁定關(guān)系后,對(duì)應(yīng)的資源服務(wù)就會(huì)接收到這個(gè)任務(wù)配置,在對(duì)應(yīng)的資源上動(dòng)態(tài)加載 instance漓骚,并提供服務(wù)(動(dòng)態(tài)加載的過(guò)程,有點(diǎn)類似于之前的 autoScan 機(jī)制榛泛,只不過(guò)基于 canal-admin 之后可就以變?yōu)檫h(yuǎn)程的 web 操作蝌蹂,而不需要在機(jī)器上運(yùn)維配置文件)
將 server 抽象成資源之后,原本 canal-server 運(yùn)行所需要的 canal.properties/instance.properties 配置文件就需要在 web ui 上進(jìn)行統(tǒng)一運(yùn)維曹锨,每個(gè) server 只需要以最基本的啟動(dòng)配置 (比如知道一下 canal-admin 的 manager 地址孤个,以及訪問(wèn)配置的賬號(hào)、密碼即可)
admin搭建
1沛简、創(chuàng)建數(shù)據(jù)庫(kù)canal_manager齐鲤,導(dǎo)入canal_manager.sql
2、修改配置連接數(shù)據(jù)庫(kù)
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椒楣、啟動(dòng)\bin\startup.bat
可以通過(guò) http://127.0.0.1:8089/ 訪問(wèn)给郊,默認(rèn)密碼:admin/123456
4、修改cannal-server配置捧灰。讓它連接admin而不是用自己的本地文件存儲(chǔ)
# 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淆九、啟動(dòng)admin-server即可。
注意:
1毛俏、修改成管理方式之后炭庙,之前的server 配置、instant配置全動(dòng)態(tài)都保存到Canal admin的數(shù)據(jù)庫(kù)里面了煌寇。所以之前在磁盤上的的配置文件就不生效了.
2焕蹄、所以你可能會(huì)看到server的報(bào)錯(cuò):Caused by: com.alibaba.otter.canal.common.CanalException: instance : my1 config is not found。明明已經(jīng)有my1這個(gè)instance了(磁盤上有文件夾)阀溶。你只需在后臺(tái)添加一個(gè)my1的 instance 就行了腻脏。配置直接copy保存就行了