:::info canal-admin为选装,就是canal的一个操作页面,如果不装可以选择跳过安装canal-admin的部分 :::
拉取镜像
docker pull canal/canal-admindocker pull canal/canal-server
下载官方启动脚本
wget https://raw.githubusercontent.com/alibaba/canal/master/docker/run.shwget https://raw.githubusercontent.com/alibaba/canal/master/docker/run_admin.sh
网络不行可以点击这里下载
启动canal-server的脚本:run.sh
启动canal-admin的脚本run_admin.sh
这个脚本其实可下可不下,最终他都是帮我们拼成了docker run语句执行
admin数据库初始化脚本
下载Canal-admin的初始化数据库
https://raw.githubusercontent.com/alibaba/canal/master/canal-admin/canal-admin-server/src/main/resources/canal_manager.sql
网络不行可以点击这里下载:canal-admin.sql
启动Canal-admin
sh run_admin.sh \-e server.port=8089 \-e canal.adminUser=admin \-e canal.adminPasswd=admin \-e spring.datasource.address=192.168.1.5:3306 \-e spring.datasource.database=canal_manager \-e spring.datasource.username=anin \-e spring.datasource.password=123456
- canal.adminUser=admin server端连接admin端的身份账号
 - canal.adminPasswd=admin server端连接admin端的身份密码
 - spring.datasource.xx admin端连接外置数据库的配置
 
这个启动命令等同于
docker run -d -it-h 192.168.1.5 \-e server.port=8089-e canal.adminUser=admin \-e canal.adminPasswd=admin \-e spring.datasource.address=192.168.1.5:3306 \-e spring.datasource.database=canal_manager \-e spring.datasource.username=anin \-e spring.datasource.password=123456 \--name=canal-admin \-p 8089:8089 \-m 1024m \canal/canal-admin
:::info
初始化SQL脚本里会默认创建canal_manager的数据库,如果使用默认初始化需要使用root等有超级权限的账号。
也可以自己初始化数据库数据库完成之后,再配置数据库连接信息
注意:canal-admin的mysql账号需要有读写权限 :::
查看admin日志
vi logs/admin.log2019-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 customExceptionHandler2019-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
启动Canal-server(admin管理模式)
admin管理模式启动并运行canal-server
单机模式
以单机模式为例
sh run.sh -e canal.admin.manager=192.168.1.5:8089 \-e canal.admin.port=11110 \-e canal.admin.user=admin \-e canal.admin.passwd=4ACFE3202A5FF5CF467898FC58AAB1D615029441 \-e canal.instance.master.address=192.168.1.5:3306 \-e canal.instance.dbUsername=canal \-e canal.instance.dbPassword=canal
- canal.admin.manager=192.168.1.5:8089 canal-admin的地址
 - canal.admin.passwd mysql5的加密,明文为上面设置的admin,如果修改需要对应 在线加密
集群模式
集群模式需手动创建一个集群,并且提供zookeeper地址,然后启动参数加上集群名称即可,配置与单机模式一样,只不过一个集群共用一个server配置sh run.sh -e canal.admin.manager=192.168.1.5:8089 \-e canal.admin.port=11110 \-e canal.admin.user=admin \-e canal.admin.passwd=4ACFE3202A5FF5CF467898FC58AAB1D615029441 \-e canal.instance.master.address=192.168.1.5:3306 \-e canal.instance.dbUsername=canal \-e canal.instance.dbPassword=canal-e canal.admin.register.cluster=test
启动Canal-server(不使用admin管理)
启动成功后,刷新admin页面的server列表,会出现刚刚启动的canal-serverdocker run --name canal \-e canal.instance.master.address=192.168.1.5:3306 \-e canal.instance.dbUsername=canal \-e canal.instance.dbPassword=canal \-p 11111:11111 \-d canal/canal-server

canal-admin的操作见文档:https://github.com/alibaba/canal/wiki/Canal-Admin-Guide 
