跳至主要內容

安装Canal

soulballad环境配置CentOSCentOS约 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

安装集群

参考:

上次编辑于:
贡献者: soulballad