一、軟件下載
1、介紹
- canal的主要的作用就是通過MySQL的binlog日誌文件,同步數據到MQ,MQ包含mysql、kafka、tcp等等
- canal-admin是一個webUI界面,通過界面配置的方式,管理canal的配置文件,方便易於管理。
2、下載
使用的有點擊下載:canal.deployer-1.1.4.tar.gz 和 canal.admin-1.1.4.tar.gz
下載鏈接:https://github.com/alibaba/canal/releases
二、配置canal-admin
官網案列:https://github.com/alibaba/canal/wiki/Canal-Admin-QuickStart
1、修改配置文件
# 在Linux的服務器中
# 直接在服務器中下載,或者是在wind下載之後需要傳到服務器上
wget https://github.com/alibaba/canal/releases/download/canal-1.1.4/canal.admin-1.1.4.tar.gz
# 解壓
mkdir /tmp/canal-admin
tar zxvf canal.admin-1.1.4.tar.gz -C /tmp/canal-admin
# 修改配置文件
vi conf/application.yml
# 主要配置
spring.datasource:
address: 127.0.0.1:3306 #數據庫的ip
username: root #數據庫的賬號
password: root #數據庫的密碼
canal:
adminUser: admin #canal-admin的賬號
adminPasswd: 123456 #canal-admin的密碼(默認是admin,改成6位以上的密碼)
2、初始化數據庫
# 連接上面配置的mysql數據庫
mysql -h 127.1 -u root -p
-- 最好在/tem/canal-admin目錄下連接數據庫
>source conf/canal_manager.sql
3、啓動canal-admin
# 在bin目錄裏面啓動:
sh bin/startup.sh
在webUI界面查看: http://127.0.0.1:8089/ 訪問,默認密碼:admin/123456
三、配置canal-1.1.4
官網案例:https://github.com/alibaba/canal/wiki/Canal-Admin-ServerGuide
1、配置文件
canal-1.1.4的版本較之前的版本基本一樣,就是在配置文件上有一點不同,在conf/目錄下有兩個主要的全局配置文件,一個是:canal.properties這個和之前所有版本的配置一樣,還有一個是canal_local.properties這個是指定canal-admin的UI界面的。在此我們主要是使用canal_local.properties這個配置,使得canal運行之後,配置可以在webUI端快速的更改配置。
# canal服務端的ip最好使用主機映射
canal.register.ip = hadoop001
# 這個是webUI的配置
canal.admin.manager = 127.0.0.1:8089 #登錄的ip
canal.admin.port = 11110 #交互的端口
canal.admin.user = admin #webUI的賬號
canal.admin.passwd = 6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 #webUI密碼的暗文
# admin auto register
canal.admin.register.auto = true
canal.admin.register.cluster = #集羣的名字
2、配置密碼
上面配置的webUI的密碼暗文需要到mysql的數據庫查詢的,我們配置的密碼是123456,所以需要到數據庫產生
mysql> select password(123456);
+-------------------------------------------+
| password(123456) |
+-------------------------------------------+
| *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-------------------------------------------+
1 row in set, 1 warning (0.00 sec)
3、啓動
1)要先啓動canal-admin
2)在canal-admin的UI界面配置主配置,以及server配置。參考:四、webUI的使用
3)上面步驟配置完成才能啓動。在canal的安裝目錄/bin目錄下執行startup.sh 傳入參數local
# 啓動方法一:
sh bin/startup.sh local
# 啓動方法二:
# ---將canal_local.properties配置文件的名字改成canal.properties(刪除原有的)
sh bin/startup.sh
4、高可用(服務端高可用)
1)在多臺機器上重複以上:1、配置文件;2、配置密碼;3啓動步驟(與UI界面的server配置要吻合)
2)個人理解集羣模式也即高可用模式,一般情況下只用開啓一個服務端就可以用了,而集羣模式就開了多個服務,每個服務也是相互獨立的(只有元數據是一樣的在zookeeper保存),當手動的關閉一個服務,不會影響集羣以及數據導入的,實例會在其他服務上重新啓動。
四、webUI的使用
官網案例:https://github.com/alibaba/canal/wiki/Canal-Admin-Guide
1、主配置
主配置就和之前的版本的配置一樣也就是canal目錄下的canal.properties文件的配置。其中canal.properties:集羣模式不用配置ip
2、server配置
配置基本保持默認就好
3、instance配置
canal的實例配置
instance.properties:配置如之前版本
參考配置:
https://blog.csdn.net/weixin_40126236/article/details/90474784
https://blog.csdn.net/weixin_40126236/article/details/92654961
五、問題
1、啓動順序問題
首先canal的服務需要去canal-admin上去讀取配置文件,所以canal-admin需要先啓動,就是要先有UI界面,然後在啓動canal服務。注意:canal的服務默認是讀取本地的配置,啓動時一定要加上loacl這個參數,或者改配置文件的名字。
2、元數據問題
在主配置裏面canal.instance.global.spring.xml這個配置如果選擇的是:
- file-instance.xml(一般是單機模式)元數據保存在conf/實例/instance.xml
- default-instance.xnl (爲集羣模式) 元數據保存在zookeeper裏面/otter/canal/destinations (需要配置zookeeper地址)
3、zookeeper改變
如果主配置的zookeeper地址改變了,需要修改集羣的zookeeper和主配置的canal.zkServers參數,最好同時刪除conf目錄下的所有實例和zookeeper裏面保存的所有實例。最後重啓canal-admin,再重啓canal服務
有懷疑或不足之處,請留言!