我是靠谱客的博主 兴奋哈密瓜,最近开发中收集的这篇文章主要介绍Canal服务端集群版搭建,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.前置准备

前面的步骤与单机版一致,集群版需要先部署好admin,再来部署canal-server。需要监听的数据库需要开启binglog

1.1检查是否开启binlog

查看binlog相关数据库命令

是否启用了日志
show variables like 'log_bin';
怎样知道当前的日志
show master status;
查看mysql binlog模式
show variables like 'binlog_format';
获取binlog文件列表
show binary logs;
查看当前正在写入的binlog文件
show master statusG
查看指定binlog文件的内容
show binlog events in 'mysql-bin.000002';

1.2开启binlog

如果log_bin关闭,需要在etc下面找到my.cnf,开启binlog:

server-id=1
log-bin=/var/lib/mysql/mysql-bin

然后重启mysql服务
对于自建 MySQL , 需要先开启 Binlog 写入功能,配置 binlog-format 为 ROW 模式,my.cnf 中配置如下

[mysqld]
log-bin=mysql-bin # 开启 binlog
binlog-format=ROW # 选择 ROW 模式
server_id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复
  • 注意:针对阿里云 RDS for MySQL , 默认打开了 binlog , 并且账号默认具有 binlog dump 权限 , 不需要任何权限或者 binlog 设置,可以直接跳过这一步

1.3创建授权账号

授权 canal 链接 MySQL 账号具有作为 MySQL slave 的权限, 如果已有账户可直接 grant

CREATE USER canal IDENTIFIED BY 'canal';  
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
-- GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;
FLUSH PRIVILEGES;

2.下载安装包

  • 下载 canal
  • 官方release下载包:传送门

选择需要的包下载, 如下图版本为例
在这里插入图片描述

下载后上传服务器
或者使用如下示例命令直接服务器中下载

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

3.解压

#创建存储目录
mkdir /usr/local/canal

#解压到目录
tar zxvf canal.deployer-1.1.5-SNAPSHOT.tar.gz  -C /usr/local/canal

4.修改配置

注:这里与单机版不一致,单机版读取的是自身配置canal.properties,集群版一般指定canal_local.properties配置,这里只简单配置注册到canal_admin的相关配置,其它配置由注册到canal_admin统一管理。

使用canal_local.properties的配置,修改如下

# 注册服务端的IP,可不配置默认为本机IP
canal.register.ip =

# canal admin相关配置
canal.admin.manager = 10.197.xx.xxx:8089
canal.admin.port = 11110
canal.admin.user = admin
# 密吗详见下方解释
canal.admin.passwd = 4ACFE3202A5FF5CF467898FC58AAB1D615029441
# 自动注册到canal admin开启
canal.admin.register.auto = true
# 注册到canal admin对应的集群名称
# 需要在canal-admin控制台新建集群test,并导入配置模板,并修改部分配置
canal.admin.register.cluster = test

注:关于canal.admin.passwd密码配置的说明
针对canal.admin.passwd,默认做了密码加密处理,这里的passwd是一个密文,
和canal-admin里application.yml里的密码原文做对应.
密文的生成方式,请登录mysql,执行如下密文生成sql即可(记得去掉第一个首字母的星号)
在这里插入图片描述

5.启动并注册到canal admin

# 指定使用 local 配置启动
sh bin/startup.sh local

启动完成后可以在 canal_admin 看到注册上来的服务
在这里插入图片描述

6.查看 server 日志

vi logs/canal/canal.log

在这里插入图片描述

7.查看 instance实例 的日志

默认实例是 example

vi logs/example/example.log

8.关闭

sh bin/stop.sh

附录

官方QuickStart

最后

以上就是兴奋哈密瓜为你收集整理的Canal服务端集群版搭建的全部内容,希望文章能够帮你解决Canal服务端集群版搭建所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部