一、前言
本集群基于Canal-Admin实现,并包括Canal-Admin部署流程。Canal-Admin由阿里官方提供,为canal提供整体配置管理、节点运维等面向运维的功能,提供相对友好的WebUI操作界面,方便更多用户快速和安全的操作。
二、安装环境准备
1、 Canal-Admin部署节点:
172.16.3.234:8089
2、 Zookpeer集群:
172.16.3.234:2181
172.16.3.235:2181
172.16.3.236:2181
3、 Kafka集群:
172.16.3.237:9092
172.16.3.239:9092
172.16.3.240:9092
4、Canal 集群(与ZK部署在相同的服务器):
172.16.3.234
172.16.3.235
172.16.3.236
5、 MySQL数据库信息:
数据库IP:172.16.3.70
6、 安装文件准备:
canal.admin-1.1.4.tar.gz
canal.deployer-1.1.4.tar.gz
下载地址:https://github.com/alibaba/canal/releases/tag/canal-1.1.4/
说明:Canal-Admin需要MySQL存储配置信息,暂用测试库作为配置信息存储库*
7、 MySQL配置,开启binlog:
7.1 Mysql环境检查:
-- 是否开启用了日志
show variables like 'log_bin';
-- 怎样知道当前的日志
show master status;
-- 查看mysql binlog模式
show variables like 'binlog_format';
-- 获取binlog文件列表
show binary logs;
-- 查看当前正在写入的binlog文件
show master status\G;
-- 查看指定binlog文件的内容
show binlog events in ‘mysql-bin.000002’
7.2 登录到数据库所在的服务器并编辑mysql配置文件/etc/my.cnf
vim /etc/my.cnf
[mysqld]
log_bin=mysql_bin ## 开启 binlog
binlog-format=Row ## 选择 ROW 模式
server-id=1 ## 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复
注:三个配置必须全部填写,否则导致bingo数据读取不到
7.3 重启数据库
service mysqld restart;
7.4 数据库重启后, 测试 my.cnf 配置是否生效
show variables like 'binlog_format';
三、Canal-Admin安装配置
1、 Admin安装、配置
1.1 创建canal-admin 文件夹
mkdir /data/canal-admin
1.2 解压canal.admin-1.1.4.tar.gz安装包到 canal-admin
tar –zxvf canal.admin-1.1.4.tar.gz –C canal-admin
查看一下文件目录:
1.3 修改配置文件:application.ym
vim /data/canal-admin/conf/application.yml
server:
port: 8089
spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
spring.datasource:
address: 172.16.3.70:3306 ## 保存配置信息的数据库IP及端口
database: canal_manager ## 保存配置信息的数据库名
username: root ## 登录数据库的用户名
password: ADuls2MuUt ## 登录数据的密码
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 ## 登录canal-admin 的用户名
adminPasswd: 123456 ## 登录canal-admin 的密码
1.4 创建 保存配置信息的数据库
- 找到 /data/canal-admin/conf目录下的canal_manager.sql文件