背景

canal-admin设计上是为canal提供整体配置管理、节点运维等面向运维的功能,提供相对友好的WebUI操作界面,方便更多用户快速和安全的操作

准备

canal-admin的限定依赖:

  • MySQL,用于存储配置和节点等相关数据
  • canal版本,要求>=1.1.4 (需要依赖canal-server提供面向admin的动态运维管理接口)

部署

  • 下载 canal-admin, 访问 release 页面 , 选择需要的包下载, 如以 1.1.4 版本为例
  1. wget https://github.com/alibaba/canal/releases/download/canal-1.1.4/canal.admin-1.1.4.tar.gz
  • 解压缩
  1. mkdir /tmp/canal-admin
  2. tar zxvf canal.admin-$version.tar.gz -C /tmp/canal-admin

解压完成后,进入 /tmp/canal 目录,可以看到如下结构

  1. drwxr-xr-x 6 agapple staff 204B 8 31 15:37 bin
  2. drwxr-xr-x 8 agapple staff 272B 8 31 15:37 conf
  3. drwxr-xr-x 90 agapple staff 3.0K 8 31 15:37 lib
  4. drwxr-xr-x 2 agapple staff 68B 8 31 15:26 logs
  • 配置修改
  1. vi conf/application.yml
  1. server:
  2. port: 8089
  3. spring:
  4. jackson:
  5. date-format: yyyy-MM-dd HH:mm:ss
  6. time-zone: GMT+8
  7. spring.datasource:
  8. address: 127.0.0.1:3306
  9. database: canal_manager
  10. username: canal
  11. password: canal
  12. driver-class-name: com.mysql.jdbc.Driver
  13. url: jdbc:mysql://${spring.datasource.address}/${spring.datasource.database}?useUnicode=true&characterEncoding=UTF-8&useSSL=false
  14. hikari:
  15. maximum-pool-size: 30
  16. minimum-idle: 1
  17. canal:
  18. adminUser: admin
  19. adminPasswd: admin
  • 初始化元数据库
  1. mysql -h127.1 -uroot -p
  2. # 导入初始化SQL
  3. > source conf/canal_manager.sql

a. 初始化SQL脚本里会默认创建canal_manager的数据库,建议使用root等有超级权限的账号进行初始化b. canal_manager.sql默认会在conf目录下,也可以通过链接下载 canal_manager.sql

  • 启动
  1. sh bin/startup.sh

查看 admin 日志

  1. vi logs/admin.log
  2. 2019-08-31 15:43:38.162 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8089 (http)
  3. 2019-08-31 15:43:38.180 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8089"]
  4. 2019-08-31 15:43:38.191 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
  5. 2019-08-31 15:43:38.194 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet Engine: Apache Tomcat/8.5.29
  6. ....
  7. 2019-08-31 15:43:39.789 [main] INFO o.s.w.s.m.m.annotation.ExceptionHandlerExceptionResolver - Detected @ExceptionHandler methods in customExceptionHandler
  8. 2019-08-31 15:43:39.825 [main] INFO o.s.b.a.web.servlet.WelcomePageHandlerMapping - Adding welcome page: class path resource [public/index.html]

此时代表canal-admin已经启动成功,可以通过 http://127.0.0.1:8089/ 访问,默认密码:admin/123456Canal Admin QuickStart - 图1

  • 关闭
  1. sh bin/stop.sh
  • canal-server端配置使用canal_local.properties的配置覆盖canal.properties
  1. # register ip
  2. canal.register.ip =
  3. # canal admin config
  4. canal.admin.manager = 127.0.0.1:8089
  5. canal.admin.port = 11110
  6. canal.admin.user = admin
  7. canal.admin.passwd = 4ACFE3202A5FF5CF467898FC58AAB1D615029441
  8. # admin auto register
  9. canal.admin.register.auto = true
  10. canal.admin.register.cluster =

启动admin-server即可。

或在启动命令中使用参数:sh bin/startup.sh local 指定配置

just have fun!