title: canal高可用安裝
tags: [canal]
date: 2020-01-20 16:00:00
介紹
canal高可用模式是通過zookeeper注冊canal當前服務狀態來實現的。
搭建參考地址:https://github.com/alibaba/canal/wiki/AdminGuide
搭建步驟
主機環境:
- canal+admin+zookeeper+jdk:192.168.40.100
- mysql+jdk+canal:192.168.40.101
搭建步驟:
- 安裝mysql
- 安裝jdk
- 安裝zookeeper
- 安裝2個canal
- 安裝admin管理界面
mysql安裝
參照canal安裝 在192.168.40.101安裝
jdk安裝
參照canal安裝 在192.168.40.100和192.168.40.101安裝
zookeeper安裝
參照zookeeper安裝 在192.168.40.100安裝
canal.admin安裝
在192.168.40.100安裝
# 下載地址
wget https://github.com/alibaba/canal/releases/download/canal-1.1.4/canal.admin-1.1.4.tar.gz
tar xf canal.admin-1.1.4.tar.gz -C /data/canal.admin
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: 127.0.0.1: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-server需要憑此賬號密碼連接到admin上,不是登錄密碼,是服務間的連接校驗
canal:
adminUser: admin
adminPasswd: admin
登錄數據庫,加載初始化配置
mysql -uroot -p123123
mysql> source /data/canal.admin/conf/canal_manager.sql;
啟動
# 啟動
/data/admin/bin/startup.sh
# 關閉
/data/admin/bin/stop.sh
訪問web
curl http://192.168.40.100:8089
web界面配置
- 訪問 http://192.168.40.100:8089
- 登錄:賬號:admin,密碼:123456
- 點擊集群管理 --> 新建集群 --> 填寫zookeeper信息
- 在新建的集群右側點擊操作 --> 主配置 --> 載入模板 --> 把
canal.user
與canal.passwd
注釋 --> 修改canal.admin.manager
為IP地址,注釋canal.instance.global.spring.xml = classpath:spring/file-instance.xml
開啟canal.instance.global.spring.xml = classpath:spring/default-instance.xml
--> 添加canal.zkServers
地址 -->保存 - server管理:為canal.deployer服務配置
- instance管理:為example數據源配置
canal 安裝
canal.deployer配置中聲明admin配置,才可以注冊到admin服務上
修改canal_local.properties配置,canal_local.properties為canal最簡化的配置,高可用模式使用該配置,單機模式可以使用默認文件canal.properties
vim /data/canal/conf/canal_local.properties
# 本機IP
canal.register.ip =
# canal admin config
canal.admin.manager = 192.168.40.100:8089
canal.admin.port = 11110
# 該賬號密碼對應admin配置,密碼由mysql生成:select password('admin'),去掉*號
canal.admin.user = admin
canal.admin.passwd = 4ACFE3202A5FF5CF467898FC58AAB1D615029441
# 自動注冊到admin服務
canal.admin.register.auto = true
# 如果是高可用,填寫zookeeper地址,如果是單機,可不填寫
canal.admin.register.cluster = zk
啟動
# 必須先啟動admin服務,也可直接使用canal_local.properties重命名覆蓋canal.properties文件,即可正常啟動
cd /data/canal.admin/
sh bin/startup.sh local
# 查看日志
tailf logs/admin.log
注:
- 啟動canal后,在admin界面即可查看到注冊信息
- 多台注冊,配置與上面一樣
- 如果注冊到同一個集群,配置文件為統一配置
- 可在admin界面管理instance,直接創建,不需要在服務器上手動創建
- zookeeper上也可查看到集群信息