canal admin
简介
canal-admin设计上是为canal提供整体配置管理、节点运维等面向运维的功能,提供相对友好的WebUI操作界面,方便更多用户快速和安全的操作
概念
- instance,对应canal-server里的instance,一个最小的订阅mysql的队列
- server,对应canal-server,一个server里可以包含多个instance
- 集群,对应一组canal-server
- instance因为是最原始的业务订阅诉求,它会和 server/集群 这两个面向资源服务属性的进行关联,比如instance A绑定到server A上或者集群 A上,
- 有了任务和资源的绑定关系后,对应的资源服务就会接收到这个任务配置,在对应的资源上动态加载instance,并提供服务动态加载的过程,有点类似于之前的autoScan机制,只不过基于canal-admin之后可就以变为远程的web操作,而不需要在机器上运维配置文件
- 将server抽象成资源之后,原本canal-server运行所需要的canal.properties/instance.properties配置文件就需要在web ui上进行统一运维,每个server只需要以最基本的启动配置 (比如知道一下canal-admin的manager地址,以及访问配置的账号、密码即可)
部署
- 下载 canal-admin, 访问 release 页面 , 选择需要的包下载, 如以 1.1.4 版本为例
wget https://github.com/alibaba/canal/releases/download/canal-1.1.4/canal.admin-1.1.4.tar.gz - 解压缩
mkdir /tmp/canal-admin
tar zxvf canal.admin-$version.tar.gz -C /tmp/canal-admin
-
配置说明
- application.yml,springboot默认依赖的配置,比如链接数据库的账号密码,链接canal-server admin管理的账号密码
- logback.xml,日志配置
- canal-template.properties,canal配置的默认模板,针对canal-server开启自动注册时,会选择这个默认模板
- instance-template.properties,instance配置的默认模板
-
配置修改
vi 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.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_manager.sql默认会在conf目录下
# 以 root 用户进入 MySQL 命令行。
mysql -h127.1-uroot -p
# 运行初始化 sql 文件
SQL> source conf/canal_manager.sql
-
启动
sh bin/startup.sh -
查看启动日志
vi logs/admin.log
2019-08-3115:43:38.162[main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer-Tomcat initialized with port(s):8089(http)
2019-08-3115:43:38.180[main] INFO org.apache.coyote.http11.Http11NioProtocol-InitializingProtocolHandler["http-nio-8089"]
2019-08-3115:43:38.191[main] INFO org.apache.catalina.core.StandardService-Starting service [Tomcat]
2019-08-3115:43:38.194[main] INFO org.apache.catalina.core.StandardEngine-StartingServletEngine:ApacheTomcat/8.5.29
....
2019-08-3115:43:39.789[main] INFO o.s.w.s.m.m.annotation.ExceptionHandlerExceptionResolver-Detected@ExceptionHandler methods in customExceptionHandler
2019-08-3115:43:39.825[main] INFO o.s.b.a.web.servlet.WelcomePageHandlerMapping-Adding welcome page:class path resource [public/index.html]
- 访问页面
看到上面日志表示启动成功了,通过
http://127.0.0.1:8089/访问,用户密码:admin/123456
实践
- 创建集群
- 创建server
- 创建Instance
配置项:
- 修改,主要就是维护
instance.properties配置,做了修改之后会触发对应单机或集群server上的instance做动态reload - 删除,相当于直接执行
instance stop,并执行配置删除 - 启动/停止,对
instance进行状态变更,做了修改会触发对应单机或集群server上的instance做启动/停止操作 - 日志,主要针对
instance运行状态时,获取对应instance的最后100行日志,比如example/example.log