Canal系列5- 使用admin管理cannal

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保存就行了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容