Canal高可用集群搭建过程

一、简单介绍一下Canal

Canal简介:https://github.com/alibaba/canal/wiki/简介
挂载流程
Canal Server:该程序是Canal官方提供程序。
Canal Client:该程序需要自己开发,用于接收Canal的数据(此案例以Java代码为例)。

集群挂载流程如下:

  • 同时启动2个Canal Server,仅有一个Canal Server和一个Canal Client可运行,另外都在阻塞等待;
  • 当正在运行的Canal Server或者Canal Client下线了,则另一台会自动挂载。

高可用集群实现:Canal Server端需要配置canal.zkServers;而Canal Client端只需要配置canal.zk.address即可。

二、MySQL开启 Binlog 同步

参考官方文档:https://github.com/alibaba/canal/wiki/QuickStart 的【准备】章节。

三、Zookeeper的准备

Canal是以Zookeeper作为服务发现和注册的,所以得安装一个Zookeeper才能实现集群。

Zookeeper的下载地址(注意:一定要下 apache-zookeeper-3.5.5-bin.tar.gz 包):https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5-bin.tar.gz
Zookeeper UI的下载地址:
https://github.com/DeemOpen/zkui

四、Canal Server部署

参考官方文档:https://github.com/alibaba/canal/wiki/QuickStart 的【启动】章节

第一步:修改配置文件

# 修改配置文件 {canal_base}/conf/canal.properties  
canal.zkServers=127.0.0.1:2181

第二步:复制多一个canal文件夹,暂且命名该文件夹为 canal_slave

# 修改 {canal_slave_base}/conf/canal.properties 文件
canal.port=12111
canal.metrics.pull.port=12112
canal.zkServers=127.0.0.1:2181 

五、Canal Client部署

参考项目:https://github.com/fomeiherz/canal-example
第一步:修改配置文件

# 修改 canal-example/src/main/resources/application.properties 配置文件
server.port=9091  
canal.zk.address=127.0.0.1:2181

第二步:复制一个项目,暂且定为 canal-example-slave

# 修改 canal-example-slave/src/main/resources/application.properties 配置文件
server.port=9092  
canal.zk.address=127.0.0.1:2181

猜你喜欢

转载自blog.csdn.net/fomeiherz/article/details/103054693