canal-admin可视化管理-配置(五)

部署

1.下载admin

也可以下载源码 通过源码maven安装 从根目录targer下获取

wget https://github.com/alibaba/canal/releases/download/canal-1.1.4/canal.admin-1.1.4.tar.gz

2.解压

#创建目录
mkdir /tmp/canal-admin
#解压到此目录 tar zxvf canal.admin
-$version.tar.gz -C /tmp/canal-admin

3.创建存放配置相关表

/target/canal.admin-1.1.4/conf/canal_manager.sql  有sql脚本

我遇到了启动server报错 server modified_time不能为null的异常我们将相关表改为可空就行 不影响使用

ALTER TABLE canal_manager.canal_node_server

MODIFY modified_time timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
ALTER TABLE canal_manager.canal_adapter_config
MODIFY modified_time timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
ALTER TABLE canal_manager.canal_cluster

MODIFY modified_time timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

ALTER TABLE canal_manager.canal_config

MODIFY modified_time timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
ALTER TABLE canal_manager.canal_instance_config

MODIFY modified_time timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
ALTER TABLE canal_manager.canal_user

MODIFY creation_date timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

4.配置修改

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

5.将mysql 驱动包放到lib目录下

不同mysql版本不一样如:mysql-connector-java-5.1.47.jar

6.初始化数据库和表

canal有提供admin的相关数据库和表的创建语句 找到并到数据库执行就行了

canalAdmin1.1.4/conf/canal_manager.sql 

7.启动

sh bin/startup.sh

如果启动不不起来查看日志/logs

5.登录

http://127.0.0.1:8089 用户名:admin 密码:123456

正常出来页面表示成功

http://127.0.0.1:8089

相关表介绍

UI介绍

集群管理:就是我们集群下的canal-server的公共配置(canal.properties) 由以前各个服务器配配置改为数据库配置和 zk地址,修改配置通知集群下的所有server

Server管理:注册到Admin的所有Server (针对单机可以配置各个server的canal.properties)

instance管理  对应以前的example 下的instance配置,不同的client可以配置订阅不同的instance配置 不同的instance下维护各自的binlog读取的指针位置 和指定库

如多个,号隔开 需要像example一样创建对应的目录

canal.properties 下的canal.destinations = example

单机配置

1.修改配置canal_local.properties

因为我们走admin维护 相关配置都配置在库里,所以我们只需要指定admin的地址和自动注册

# register ip
canal.register.ip =

# canal admin config
canal.admin.manager = 127.0.0.1:8089
#与admin建立的链接端口 别冲突了
canal.admin.port = 31110
canal.admin.user = admin
canal.admin.passwd = 4ACFE3202A5FF5CF467898FC58AAB1D615029441
# 知否自动注册 天ture
canal.admin.register.auto = true
#集群配置名字 我们是单机就不填
canal.admin.register.cluster =

#server暴露端口
canal.port = 11115
canal.metrics.pull.port = 11116

2.启动server

指定使用canal_local.propertiesl配置文件,这里之前的cana.properties 和example的配置文件已经没用了

可以发现使用local我们的配置少了很多,其他我们要配置到admin 落库

./startup.sh local

3.admin增加配置落库

使用数据库管理配置 我们将之前配置的canal.properteis配置文件拷贝进来,注释掉canal.port = 11115 canal.metrics.pull.port = 11116 local里面配置了

 

 看日志触发了重启 后续我们就可以用admin启动和配置了

4.instance配置 example下的instance.properties 拷贝过来就行保存落库 后续我们可以直接再这里修改相关配置

这里我们改一下名字 熟悉一下此配置在哪里

 5.因为上面盖了名字我们回头去改配置

canal.destinations = example

改为

canal.destinations = example_single

或者

客户端就可以订阅不同实例的库 或者单独维护binlog读取指针

canal.destinations = example,example_single

集群配置

1.因为集群多个canal-server 相关配置都是一样的 除了暴露的端口不一样 所以我们要先增加集群配置

2.集群配置文件配置

因为集群除了各个server的端口不一样其他都一样将 canal.properties拷贝过来 将端口注释:canal.port = 11111 canal.metrics.pull.port = 11112 local有配置

3.各个canal_local.properties文件修改 

# register ip
canal.register.ip =

# canal admin config
canal.admin.manager = 127.0.0.1:8089
canal.admin.port = 21110
canal.admin.user = admin
canal.admin.passwd = 4ACFE3202A5FF5CF467898FC58AAB1D615029441
# admin auto register
canal.admin.register.auto = true
#canalcluster 应用的配置和zk
canal.admin.register.cluster = canalcluster

#暴露端口
canal.port = 11111
canal.metrics.pull.port = 11112
canal.port = 11111 ,canal.metrics.pull.port = 11112,canal.admin.port = 21110 我们需要修改保证不冲突 然后启动各个server

测试

后续我们改配置和查日志和重启就可以根据admin

原文地址:https://www.cnblogs.com/LQBlog/p/14598582.html