安装Canal
约 539 字大约 2 分钟
安装canal-deployer
准备工作
Canal是模仿mysql的slave,需要读取mysql的binlog文件,Mysql默认是没有开启binlog的,要先开启日志
开启binlog
vim /etc/my.cnf
[mysqld]
log-bin=mysql-bin # 开启 binlog
binlog-format=ROW # 选择 ROW 模式
server_id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复
创建同步账号
[root@cdh1 ~]# mysql -uroot -p123456
mysql> use mysql;
# 在mysql创建一个用户
mysql> CREATE USER 'canal'@'%' IDENTIFIED BY '123456';
# 对用户进行授权
mysql> GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' IDENTIFIED BY '123456';
# 刷新权限
mysql> FLUSH PRIVILEGES;
下载解压
wget https://github.com/alibaba/canal/releases/download/canal-1.1.6/canal.deployer-1.1.6.tar.gz
tar -zxvf canal.deployer-1.1.6.tar.gz -C /usr/local/canal-1.1.6/canal-deployer
修改配置
vim conf/example/instance.properties
### mysql serverId
canal.instance.mysql.slaveId = 1111
#position info,需要改成自己的数据库信息
canal.instance.master.address = cdh1:3306
canal.instance.master.journal.name =
canal.instance.master.position =
canal.instance.master.timestamp =
#canal.instance.standby.address =
#canal.instance.standby.journal.name =
#canal.instance.standby.position =
#canal.instance.standby.timestamp =
#username/password,需要改成自己的数据库信息
canal.instance.dbUsername = canal
canal.instance.dbPassword = 123456
canal.instance.defaultDatabaseName =
canal.instance.connectionCharset = UTF-8
#table regex
canal.instance.filter.regex = .\*\\\\..\*
vim conf/canal.properties
canal.ip =
# register ip to zookeeper
canal.register.ip =
canal.port = 11111
canal.metrics.pull.port = 11112
# canal instance user/passwd
# canal.user = canal
# canal.passwd = E3619321C1A937C46A0D8BD1DAC39F93B27D4458
# canal admin config
#canal.admin.manager = 127.0.0.1:8089
canal.admin.port = 11110
canal.admin.user = admin
canal.admin.passwd = 4ACFE3202A5FF5CF467898FC58AAB1D615029441
canal.zkServers = cdh:2181
启动服务
[root@cdh1 ~]# cd /usr/local/canal-1.1.6/canal-deployer/
[root@cdh1 canal-deployer]# sh bin/startup.sh
安装canal-admin
下载解压
wget https://github.com/alibaba/canal/releases/download/canal-1.1.4/canal.admin-1.1.6.tar.gz
# 创建目录
mkdir -p /usr/local/canal-1.1.6/canal-admin
# 解压
tar -zxvf canal.admin-1.1.6.tar.gz -C /usr/local/canal-1.1.6/canal-admin
修改配置
# 打开配置文件
vi /usr/local/canal-1.1.6/canal-admin/conf/application.yml
# 修改为以下配置
server:
port: 8089
spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
spring.datasource:
# mysql相关配置
address: cdh1:3306
database: canal_manager
username: canal
password: canal
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
启动服务
# 登录mysql
[root@cdh1 ~]# mysql -uroot -p123456
# 执行脚本
mysql> source /usr/local/canal-1.1.6/canal-admin/conf/canal_manager.sql
# 执行启动命令
sh /usr/local/canal-1.1.6/canal-admin/bin/startup.sh
浏览器访问 http://172.18.11.111:8089/ admin/123456
安装集群
参考: