栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

canalAdmin和canalServer集群部署

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

canalAdmin和canalServer集群部署

背景

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

安装canalAdmin 下载安装包

最新版本v1.1.5官方下载地址

当然linux环境也可以直接 wget https://github.com/alibaba/canal/releases/download/canal-1.1.5/canal.admin-1.1.5.tar.gz
不过这就看服务器的网络环境如何了。

解压

解压安装包 得到如下目录 tar -zvxf canal.admin-1.1.5.tar.gz

初始化数据库 

进入conf目录,有一个 canal_manager.sql的文件,此文件包含了admin运行所需要的数据库信息,主要用来保存canalServer的集群,instance等信息。选择合适的数据库实例执行此文件即可。

修改配置文件 

 canal.admin本质就是一个springboot工程,进入conf目录,修改application.yaml

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: root
  password: 123456
  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

 server.port  admin服务暴露端口可修改
 spring.datasource.address:上面canal_manager.sql初始化的数据库地址
 username 和 password 对应数据的用户名和密码
  其他地方可以不用修改。

启动admin服务

进入bin目录 执行 ./startup.sh 

浏览器输入服务器地址:8089  若启动失败可进入logs目录查看日志。

默认账号密码:admin / 123456
右上角账号管理可以修改密码

admin概念解析 
  • 集群:对应一组canal-server,多个canal-server组成一个集群
  • server:每个canal-server对应一种业务类型或一种同步方式
  • instance: 每个server可以对应多个instance,每个instance代表一个业务

    例如:serverA用kafka做消息中间件,serverB用rocketMQ
    serverA.instance1 同步table1,serverA.instanceB同步table2
集群管理

 

集群配置 

集群模式下,多个server共享一个canal.propertis配置,canalAdmin提供了配置模板,可以直接载入模板

 配置模板中需修改项:

  • canal.zkServers:  zk地址(127.0.0.1),zk集群多个地址逗号隔开
  • canal.serverMode :  kafka (可以是kafka,rocketMQ等)
  • canal.instance.global.spring.xml :classpath:spring/default-instance.xml
  • kafka.bootstrap.servers :kafka集群地址

其他配置项(非必要)可参考官方文档自定义修改,修改完成后点击保存.

新建instance

instance名称自定义,选择刚才新建的集群,直接载入模板

配置模板中需修改项:

  • canal.instance.master.address=  127.0.0.1:3306(需同步的数据库地址)
  • canal.instance.dbUsername=root  用户名
  • canal.instance.dbPassword=123456   密码
  • canal.instance.filter.regex = dbName.table1,dbName.table2 (支持正则)
  • canal.mq.topic= topicName(若配置此项,则所有表的同步为同一个topic)
  • canal.mq.dynamicTopic = topic1:dbName.table1,topic2:dbName.table2(支持正则)
  • canal.mq.partitionsNum = 3  分区数
  • canal.mq.partitionHash = .*\..*:id  所有topic根据对应表的id哈希分区

其他配置项(非必要)可参考官方文档自定义修改,修改完成后点击保存.官方链接

安装canal-server  下载安装包

最新版本v1.1.5官方下载地址

或:wget https://github.com/alibaba/canal/releases/download/canal-1.1.5/canal.deployer-1.1.5.tar.gz

解压

修改配置文件

进入conf目录,因为这里是admin+集群配置,所以需要修改的配置文件为canal_local.properties

 需修改项:

  • canal.register.ip = 服务器IP,建议直接指定,若不指定多网卡情况下自动注册时可能ip不对
  • canal.admin.manager = 192.168.70.150:8089  admin服务的地址
  • canal.admin.port / user /password 前面admin默认情况下不用修改
  • canal.admin.register.auto = true   自动注册
  • canal.admin.register.cluster = test   前面集群名称
  • canal.admin.register.name = server_1    自定义server名称 
复制server 

在另一台服务器上重复 上面的解压和修改配置操作

启动server

回到/bin目录,执行 ./startup.sh  启动成功后回到admin页面能看到两个server实例

 instance会选择其中一个server实例运行

 至此,admin+server集群部署完成。

集群原理

多个server节点利用zookeeper组成HA集群,集群中同时只有一个节点处于active状态,来解析binlog,binlog的解析位置会同步道zookeeper,若某个阶段故障掉线,另一个节点会自动顶上。

集群验证

启动多个server实例后,查看instance所属主机,停掉该主机后,instance所属主机自动切换

同时也可以在zookeeper节点 /otter/canal/cluster 查看  

修改数据库观察是否有kafka消息产生。
 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/351254.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号