canal HA部署

1、服務器分配

IP 類型 端口號 其它 版本號
10.200.48.67 Zookeeper 2181
10.200.48.68
10.200.48.69
10.200.48.70
10.200.48.70 mysql 3306 Db:zlz_test
10.200.48.70 canal v1.0.24
10.200.48.71

2、下載canal

https://github.com/alibaba/canal/releases ,使用版本v1.0.24
下載canal.deployer-1.0.24.tar.gz
Linux上執行如下命令:
wget https://github.com/alibaba/canal/releases/download/canal-1.0.24/canal.deployer-1.0.24.tar.gz

3、mysql初始化

a. canal的原理是基於mysql binlog技術,所以這裏一定需要開啓mysql的binlog寫入功能,建議配置binlog模式爲row.

[mysqld]
log-bin=mysql-bin #添加這一行就ok
binlog-format=ROW #選擇row模式
server_id=1 #配置mysql replaction需要定義,不能和canal的slaveId重複

重啓mysql
systemctl restart mariadb

b. Canal的原理是模擬自已爲mysql slave,所以這裏一定需要做爲mysql slave的相關權限。

CREATE USER canal IDENTIFIED BY ‘canal’;
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON . TO ‘canal’@’%’;
– GRANT ALL PRIVILEGES ON . TO ‘canal’@’%’ ;
FLUSH PRIVILEGES;

4、70服務器安裝canal(單機版)

步驟1:解壓縮

mkdir /tmp/canal
tar zxvf canal.deployer-1.0.24.tar.gz -C /tmp/canal

步驟2:創建canal instance

mkdir conf/canal_bj/ #連接業務庫mysql
cp …/example/instance.properties ./ #複製example目錄下的instance.properties文件到本地

步驟3:配置修改

應用參數:
vi conf/canal_bj/instance.properties
#################################################
## mysql serverId
canal.instance.mysql.slaveId = 1235

# position info
canal.instance.master.address = 10.200.48.70: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 = canal
canal.instance.defaultDatabaseName = zlz_test
canal.instance.connectionCharset = UTF-8

# table regex
canal.instance.filter.regex = .\…
# table black regex
canal.instance.filter.black.regex =

#################################################

步驟4:準備啓動

sh bin/startup.sh

步驟5:查看日誌

Canal運行日誌
tail -f logs/canal/canal.log
在這裏插入圖片描述
具體instance的日誌:
tail -f logs/canal_bj/canal_bj.log

步驟6:關閉

sh bin/stop.sh
在這裏插入圖片描述

5、Canal HA配置

步驟1:按【4】配置71服務器

vi conf/canal_bj/instance.properties
以下參數要進行調整

## mysql serverId
canal.instance.mysql.slaveId = 1236

步驟2:70,71兩臺服務器都需要修改canal.properties,加上zookeeper配置

下圖中標紅的兩個位置都需要調整
在這裏插入圖片描述
注意: 兩臺機器上的instance目錄的名字需要保證完全一致,HA模式是依賴於instance name進行管理,同時必須都選擇default-instance.xml配置。

步驟3:啓動兩臺機器的canal

-----------
ssh 10.200.48.70

sh bin/startup.sh
-----------
ssh 10.200.48.71
sh bin/startup.sh
啓動後,你可以查看logs/canal_bj/canal_bj.log,只會看到一臺機器上出現了啓動或成功的日誌。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章