4.2. 創(chuàng)建 server
所屬集群:選擇剛才添加的 “集群名稱”
server 名稱: server_1、server_2、server_3 依次類推
server ip:server 的 ip 地址
admin 端口:canal server 與 canal admin 的通信端口,非生產(chǎn)環(huán)境從 21110 開(kāi)始,生產(chǎn)從 12110 開(kāi)始,每次加10
tcp 端口:canal server 工作端口,非生產(chǎn)環(huán)境從 21111 開(kāi)始,生產(chǎn)從 12111 開(kāi)始,每次加10
metric 端口:canal server 與 prometheus 監(jiān)控的通信端口,非生產(chǎn)環(huán)境從 21112 開(kāi)始,生產(chǎn)從 12112 開(kāi)始,每次加10
4.3. 修改 canal server 配置
集群模式下,因?yàn)?/span> 一套 canal server 包含了多個(gè) host,所以為了保證配置的一直, canal server 的配置需要從集群管理處操作。
依次點(diǎn)擊 “集群管理” ??? “操作” ??? “主配置”,修改 canal server 的 canal.properties 配置信息。
點(diǎn)擊 “載入模板”,加載配置模板內(nèi)容,修改內(nèi)容類似 canal server node 中的 canal.properties 配置
# 第8、9行修改端口 canal.port = 21121 canal.metrics.pull.port = 21122 # 第11、12行取消注釋 canal.user = canal canal.passwd?= E3619321C1A937C46A0D8BD1DAC39F93B27D4458 # 第15行取消注釋,修改 admin server 地址 canal.admin.manager = 10.179.251.164:8089 # 第16行修改端口 canal.admin.port = 21120 # 第20行添加 zk server canal.zkServers = 10.179.250.221:2181,10.179.250.150,10.179.251.161 # 第60行修改為 true canal.instance.filter.table.error =?true # 第79行修改為 false canal.instance.tsdb.enable?=?false # 第92行添加 instance name canal.destinations = c_test_saber_warehouse # 第106行注釋 #canal.instance.global.spring.xml = classpath:spring/file-instance.xml # 第107行取消注釋 canal.instance.global.spring.xml = classpath:spring/default-instance.xml # 保存 |
4.4. 創(chuàng)建 canal instance
依次點(diǎn)擊 “instance 管理” ??? “選擇 canal server 集群” ??? “輸入 instance 名稱(與 destination 一致)” ??? “載入模板”
加載配置模板內(nèi)容,修改內(nèi)容類似 canal server node 中的 instance.properties 配置
# 第9行修改源數(shù)據(jù)庫(kù)地址:端口 canal.instance.master.address=10.179.250.150:3306 # 第33行修改為源數(shù)據(jù)庫(kù)抽數(shù)用戶,權(quán)限為 replication client、replication slave、指定庫(kù)的 select 權(quán)限 canal.instance.dbUsername=u_test_dhr_org_srv # 第34行修改為源數(shù)據(jù)庫(kù)抽數(shù)用戶的密碼 canal.instance.dbPassword=xxxxxxxxxxx # 第41行修改為要抽取的數(shù)據(jù)庫(kù)(白名單) canal.instance.filter.regex=dhr-organization-service\\..* # 第50行修改為instance name,要與上級(jí)目錄名、canal.properties 中的 intance name 一致 canal.mq.topic=c_test_dhr_org_srv # 保存 |
過(guò)濾規(guī)則
全庫(kù)全表 canal.instance.filter.regex
.*\\..*
.*\\..*
指定庫(kù)全表
canal.instance.filter.regex
庫(kù)名\..*
test\..*
單表
canal.instance.filter.regex
庫(kù)名.表名 test.user
多規(guī)則組合使用
canal.instance.filter.regex
庫(kù)名1\..*,庫(kù)名2.表名1,庫(kù)名3.表名2 (逗號(hào)分隔)
test\..*,test2.user1,test3.user2 (逗號(hào)分隔)
5. 啟動(dòng) canal server 集群操作順序
如下操作順序包含了 canal server 集群所有涉及的組件的啟動(dòng)順序
- 啟動(dòng) zk server cluster
- 啟動(dòng) zk ui web 服務(wù)
- 啟動(dòng) canal admin web 服務(wù)
- 依次登陸各個(gè) canal server (部署 canal deploye 包的服務(wù)器1、2、3),執(zhí)行 startup.sh,啟動(dòng) canal server 進(jìn)程
- 切換到 canal admin web 中,依次點(diǎn)擊 “server 管理” ??? “操作” ??? “啟動(dòng)”,啟動(dòng) server1、 server2、server3,啟動(dòng)成功后,頁(yè)面的 “狀態(tài)” 會(huì)變成 “啟動(dòng)”
- 切換到 “instance 管理”,觀察 “狀態(tài)” 為 “啟動(dòng)”,再點(diǎn)擊 “操作” ??? “日志”,查看內(nèi)容,如果有如下輸出,說(shuō)明canal server 成功連到了源數(shù)據(jù)庫(kù)
2020-12-22 18:30:02.099 [destination = c_test_dhr_org_srv_prev , address = /10.179.250.150:3306 , EventParser] WARN? c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - ---> find start position successfully, EntryPosition[included=false,journalName=mysql-bin.000252,position=599429086,serverId=1403306,gtid=,timestamp=1608632940000] cost : 1ms , the next step is binlog dump文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-470596.html
-
檢查 zk ui,查看?/otter/canal/destination/c_stage_dhr_entry?目錄的?running?字典中?acive?為 true,address?與啟動(dòng)的server匹配,表示正常
- 通知開(kāi)發(fā)啟動(dòng) client 消費(fèi) binlog
- client 啟動(dòng)后,再次登陸 zk ui 確認(rèn) client 在成功消費(fèi),如圖所示,/otter/canal/destination/c_stage_dhr_entry/1001/?目錄中?cursor?字典中包含 binlog
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-470596.html
- 信息,表示消費(fèi)正常
到了這里,關(guān)于canal server 標(biāo)準(zhǔn)化集群搭建(完結(jié))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!