canal server HA安装部署

一 介绍

canal-server架构

 

说明

    Canal的Server端本身根据配置启动了很多个Instance对象,所谓的Instance对象就是模拟的数据库slave和master进行连接,换句话说就是假设canal同时成为N个数据库的slave,那么就会有N个Instance实例。

    每个Instance内部包含5个组件(图中只包含了4个,估计另外一个没有实现的原因),分别是eventParser、eventSink、eventStore、metaManager、alarmHandler。其中同步的数据流是按照eventParser->eventSink->eventStore进行传输的,当然eventStore是重点因为它存储了所有从mysql同步过来的数据(数据结构很有意思,后面会介绍),metaManager主要是和zookeeper打交道的,用于记录位点的元信息。


canal的HA机制是在instance这个粒度上的。


此次介绍摘自https://www.jianshu.com/p/fea54a984031

二 实验环境

三 实验步骤

3.1 安装canal server

在规划的两台服务器(192.168.144.206/207)上安装canal server。

可以参考https://blog.csdn.net/yabingshi_tech/article/details/109513151

/*

也可点击这里下载canal server shell安装脚本进行安装(适用于CentOS系统)。

安装手册:

一 准备工作

① 创建目录

cd /opt && mkdir canal && cd canal

② 上传安装脚本install_canal.sh及canal安装包canal.deployer-1.1.4.tar.gz;

    修改安装脚本里的MasterHost值为源端MariaDB主库ip,修改CanalHost值为canal服务器ip。

③ 上传jdk安装包jdk-8u92-linux-x64.tar.gz至/usr/local下

④ 上传名称为'mysql'的文件至服务器的/usr/bin目录下,并为mysql文件赋予执行权限:chmod +x mysql

 

二 安装步骤

cd /opt/canal

sh install_canal.sh

查看脚本输出是否有报错。

检查canal.log是否有输出the canal server is running now

检查example.log是否有输出start successful

*/

注意:两台canal server上的server-id必须不同,且不能和主库的server-id相同。

3.2 安装zookeeper

在备用canal server服务器192.168.144.207上安装zookeeper,请参考:

https://blog.csdn.net/yabingshi_tech/article/details/109645577

3.4 修改配置文件,加上zookeeper配置

在两台canal server服务器上操作:

cd /usr/local/canal/conf

vi canal.properties

canal.zkServers = 192.168.144.207:2181

canal.instance.global.spring.xml = classpath:spring/default-instance.xml

 注意: 两台机器上的instance目录的名字需要保证完全一致,HA模式是依赖于instance name进行管理,同时必须都选择default-instance.xml配置

3.5 重启canal server

sh /usr/local/canal/bin/stop.sh

sh /usr/local/canal/bin/startup.sh

#检查日志

less /usr/local/canal/logs/canal/canal.log

[main] INFO  com.alibaba.otter.canal.deployer.CanalStarter - ## the canal server is running now ......

3.6 验证HA

#连接zookeeper, 查询当前工作节点

/usr/local/zookeeper/bin/zkCli.sh -server 127.0.0.1:2181
[zk: 127.0.0.1:2181(CONNECTED) 0] get /otter/canal/destinations/example/running

{"active":true,"address":"192.168.144.206:11111"}

……

#关闭当前运行的canal server

[root@localhost conf]# sh /usr/local/canal/bin/stop.sh

localhost.localdomain: stopping canal 28109 ...

Oook! cost:1

#查看当前运行节点

说明现在备份canal server在提供服务。

 

--本篇文章主要参考自:https://github.com/alibaba/canal/wiki/AdminGuide的‘HA模式配置’部分。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值