安裝 canal-admin
參考 Canal Admin QuickStart · alibaba/canal Wiki (github.com)
使用
canal-admin設(shè)計上是為canal提供整體配置管理、節(jié)點運維等面向運維的功能,提供相對友好的WebUI操作界面憔杨,方便更多用戶快速和安全的操作
設(shè)計理念
canal-admin的核心模型主要有:
instance闽坡,對應(yīng)canal-server里的instance峭状,一個最小的訂閱mysql的隊列
server涂身,對應(yīng)canal-server莫瞬,一個server里可以包含多個instance
集群参淹,對應(yīng)一組canal-server,組合在一起面向高可用HA的運維
簡單解釋:
instance因為是最原始的業(yè)務(wù)訂閱訴求乏悄,它會和 server/集群 這兩個面向資源服務(wù)屬性的進行關(guān)聯(lián)浙值,比如instance A綁定到server A上或者集群 A上,
有了任務(wù)和資源的綁定關(guān)系后檩小,對應(yīng)的資源服務(wù)就會接收到這個任務(wù)配置开呐,在對應(yīng)的資源上動態(tài)加載instance,并提供服務(wù)
動態(tài)加載的過程规求,有點類似于之前的autoScan機制筐付,只不過基于canal-admin之后可就以變?yōu)檫h程的web操作,而不需要在機器上運維配置文件
將server抽象成資源之后阻肿,原本canal-server運行所需要的canal.properties/instance.properties配置文件就需要在web ui上進行統(tǒng)一運維瓦戚,每個server只需要以最基本的啟動配置 (比如知道一下canal-admin的manager地址,以及訪問配置的賬號丛塌、密碼即可)
集群運維
- 創(chuàng)建集群
- 集群變更
配置項:
- 修改集群/刪除集群较解,屬于基本的集群信息維護和刪除
- 主配置,主要是指集群對應(yīng)的canal.properties配置赴邻,設(shè)計上一個集群的所有server會共享一份全局canal.properties配置 (如果有個性化的配置需求印衔,可以創(chuàng)建多個集群)
- 查看server,主要是指查看掛載在這個集群下的所有server列表
Server運維
- 新建Server
配置項:
- 所屬集群姥敛,可以選擇為單機 或者 集群奸焙。一般單機Server的模式主要用于一次性的任務(wù)或者測試任務(wù)
- Server名稱,唯一即可彤敛,方便自己記憶
- Server Ip与帆,機器ip
- admin端口,canal 1.1.4版本新增的能力墨榄,會在canal-server上提供遠程管理操作玄糟,默認值11110
- tcp端口,canal提供netty數(shù)據(jù)訂閱服務(wù)的端口
- metric端口渠概, promethues的exporter監(jiān)控數(shù)據(jù)端口 (未來會對接監(jiān)控)
- Server變更
配置項:
- 配置茶凳,主要是維護單機模式的canal.properties配置嫂拴,注意:掛載到集群模式的server播揪,不允許單獨編輯server的canal.properties配置贮喧,需要保持集群配置統(tǒng)一
- 修改/刪除,主要是維護server的基本屬性猪狈,比如名字和ip箱沦、port
- 啟動/停止,主要是提供動態(tài)啟停server的能力雇庙,比如集群內(nèi)這個機器打算下線了谓形,可以先通過停止釋放instance的運行,集群中的其他機器通過HA就會開始接管任務(wù)
- 日志疆前,查看server的根日志寒跳,主要是canal/canal.log的最后100行日志
- 詳情,主要提供查詢在當(dāng)前這個server上運行的instance列表竹椒,以server維度方便快速做instance的啟動童太、停止操作. 比如針對集群模式,如果server之間任務(wù)運行負載不均衡胸完,可以通過對高負載Server執(zhí)行部分Instance的停止操作來達到均衡的目的 [圖片上傳失敗...(image-f9a113-1657357307894)]
Instance運維
- 創(chuàng)建Instance
instance配置比較簡單书释,主要關(guān)注:
- 資源關(guān)聯(lián),比如掛載到具體的單機 或 集群
- instance.properties配置維護赊窥,可以載入默認模板進行修改
- Instance變更
配置項:
- 修改爆惧,主要就是維護instance.properties配置,做了修改之后會觸發(fā)對應(yīng)單機或集群server上的instance做動態(tài)reload
- 刪除锨能,相當(dāng)于直接執(zhí)行instance stop扯再,并執(zhí)行配置刪除
- 啟動/停止,對instance進行狀態(tài)變更址遇,做了修改會觸發(fā)對應(yīng)單機或集群server上的instance做啟動/停止操作
- 日志叔收,主要針對instance運行狀態(tài)時,獲取對應(yīng)instance的最后100行日志傲隶,比如example/example.log
系統(tǒng)運維
主要是涉及canal-admin的元數(shù)據(jù)配置饺律,配置都在二進制包解壓之后的conf目錄下
-rwxr-xr-x 1 agapple staff 403B 8 31 15:43 application.yml
-rwxr-xr-x 1 agapple staff 5.0K 8 31 14:56 canal-template.properties
-rwxr-xr-x 1 agapple staff 3.8K 8 30 22:14 canal_manager.sql
-rwxr-xr-x 1 agapple staff 2.0K 8 31 14:56 instance-template.properties
-rwxr-xr-x 1 agapple staff 1.5K 8 30 22:14 logback.xml
- application.yml,springboot默認依賴的配置跺株,比如鏈接數(shù)據(jù)庫的賬號密碼复濒,鏈接canal-server admin管理的賬號密碼
- logback.xml,日志配置
- canal-template.properties乒省,canal配置的默認模板巧颈,針對canal-server開啟自動注冊時,會選擇這個默認模板
- instance-template.properties袖扛,instance配置的默認模板