使用 Linux Binaries 方式部署 Canal Admin
canal-admin 设计上是为 canal 提供整体配置管理、节点运维等面向运维的功能,提供相对友好的WebUI操作界面,方便更多用户快速和安全的操作
canal-admin 的限定依赖:
- MySQL,用于存储配置和节点等相关数据
- canal 版本,要求
>=1.1.4
(需要依赖 canal-server 提供面向 admin 的动态运维管理接口)
参考:
https://github.com/alibaba/canal/wiki/Canal-Admin-QuickStart
下载 Canal Admin 安装文件
从浏览器 或 命令行 下载最新稳定的 Canal Admin 安装文件将其安装到系统中 $PATH。
注意:可先网页下载到本地,上传到
/usr/local/src
目录下,也可以使用 wget 下载;
访问 release 页面 , 选择需要的包下载, 如以 1.1.6 版本为例
https://github.com/alibaba/canal/releases
从命令行下载并安装(推荐)
- Standalone Linux Binaries (64 Bit)
$ cd /usr/local/src && wget https://github.com/alibaba/canal/releases/download/canal-1.1.6/canal.admin-1.1.6.tar.gz --no-check-certificate
$ mkdir -p /usr/local/canal.admin-1.1.6
$ cd /usr/local/src && tar zxf canal.admin-1.1.6.tar.gz -C /usr/local/canal.admin-1.1.6
$ cd .. && mv canal.admin-1.1.6/ canal-admin
解压完成后,进入 /usr/local/canal-admin
目录,可以看到如下结构
drwxr-xr-x 2 root root 4096 5月 28 10:07 bin/
drwxr-xr-x 3 root root 4096 5月 28 10:07 conf/
drwxr-xr-x 2 root root 4096 5月 28 10:07 lib/
drwxrwxrwx 2 root root 4096 8月 11 2022 logs/
快速启动 Canal Admin
1. 修改配置
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: 123456
2. 初始化元数据库
mysql -h127.1 -uroot -p
# 导入初始化SQL
> source conf/canal_manager.sql
- a. 初始化SQL脚本里会默认创建canal_manager的数据库,建议使用root等有超级权限的账号进行初始化
- b. canal_manager.sql默认会在conf目录下,也可以通过链接下载 canal_manager.sql
3. 启动
sh bin/startup.sh
查看 admin 日志
tail -f logs/admin.log
2019-08-31 15:43:38.162 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8089 (http)
2019-08-31 15:43:38.180 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8089"]
2019-08-31 15:43:38.191 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2019-08-31 15:43:38.194 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet Engine: Apache Tomcat/8.5.29
....
2019-08-31 15:43:39.789 [main] INFO o.s.w.s.m.m.annotation.ExceptionHandlerExceptionResolver - Detected @ExceptionHandler methods in customExceptionHandler
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/123456
4. 关闭
sh bin/stop.sh
5. canal-server 端配置
使用了 Canal Admin 后,Canal Server 将改用使用 Canal Admin 统一管理,Canal Server 的配置将从 Canal Admin 中获取,这时,可将 Canal Server 的配置进行类似下面的修改
使用 canal_local.properties 的配置覆盖 canal.properties
# 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 =
启动 admin-server 即可。
或在启动命令中使用参数:sh bin/startup.sh local 指定配置
创建 systemd 服务文件
创建 /etc/systemd/system/canal-admin.service
服务文件
[root@local ~]# vi /lib/systemd/system/canal-admin.service
脚本内容:
[Unit]
Description=Canal Admin
Documentation=https://github.com/alibaba/canal/wiki/Canal-Admin-QuickStart
Wants=network-online.target
After=network-online.target
[Service]
User=root
Type=forking
Environment=JAVA_HOME='/usr/local/java/'
Environment=JAVA='/usr/local/java/bin/java'
ExecStart=/usr/local/canal-admin/bin/startup.sh
ExecStop=/usr/local/canal-admin/bin/stop.sh
ExecReload=/usr/local/canal-admin/bin/restart.sh
# RPM Linux
#ExecRestart=/usr/local/canal-admin/bin/restart.sh
Restart=on-failure
StartLimitInterval=60
StartLimitBurst=50
[Install]
WantedBy=multi-user.target
设置随机启动:
[root@local ~]# systemctl daemon-reload
[root@local ~]# systemctl disable canal-admin.service
[root@local ~]# systemctl enable canal-admin.service
[root@local ~]# systemctl start canal-admin.service
[root@local ~]# systemctl status canal-admin.service
[root@local ~]# systemctl stop canal-admin.service
[root@local ~]# systemctl restart canal-admin.service
作者:Jeebiz 创建时间:2023-05-29 09:57
最后编辑:Jeebiz 更新时间:2024-07-10 22:56
最后编辑:Jeebiz 更新时间:2024-07-10 22:56