最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

使用Canal同步mysql數(shù)據(jù)到es

2023-07-19 22:45 作者:zysicyj  | 我要投稿

一、簡介

Canal主要用途是基于 MySQL 數(shù)據(jù)庫增量日志解析,提供增量數(shù)據(jù)訂閱和消費。

當(dāng)前的 canal 支持源端 MySQL 版本包括 5.1.x , 5.5.x , 5.6.x , 5.7.x , 8.0.x

二、工作原理

MySQL主備復(fù)制原理

  • MySQL master 將數(shù)據(jù)變更寫入二進(jìn)制日志( binary log, 其中記錄叫做二進(jìn)制日志事件binary log events,可以通過 show binlog events 進(jìn)行查看)

  • MySQL slave 將 master 的 binary log events 拷貝到它的中繼日志(relay log)

  • MySQL slave 重放 relay log 中事件,將數(shù)據(jù)變更反映它自己的數(shù)據(jù)

canal 工作原理

  • canal 模擬 MySQL slave 的交互協(xié)議,偽裝自己為 MySQL slave ,向 MySQL master 發(fā)送dump 協(xié)議

  • MySQL master 收到 dump 請求,開始推送 binary log 給 slave (即 canal )

  • canal 解析 binary log 對象(原始為 byte 流)

三、準(zhǔn)備安裝包

下載地址,我使用的是1.1.6版本

https://github.com/alibaba/canal/releases/tag/canal-1.1.6

國內(nèi)的話,可以在綠色聊天軟件搜索:程序員朱永勝 ?關(guān)注回復(fù)1006領(lǐng)取安裝包,不限速下載

  • deployer包:服務(wù)包

  • admin包:UI管理系統(tǒng),需要的話可以下載

  • adapter包:官方提供的客戶端,可以實現(xiàn)自動同步

四、啟動Canal服務(wù)

4.1 下載

最簡單的使用,我們只需要安裝deplyee包即可,其他的不需要

4.2 新增用戶并授權(quán)

4.3 配置文件修改

4.3.1 canal.properties

這個配置文件默認(rèn)即可,無需修改配置

修改mysql地址,要確保已經(jīng)配置了賬號密碼并授權(quán)

4.4 啟動

4.5 確認(rèn)啟動成功

五、安裝依賴

<dependencies> ? ?<dependency> ? ? ? ?<groupId>com.alibaba.otter</groupId> ? ? ? ?<artifactId>canal.client</artifactId> ? ? ? ?<version>1.1.4</version> ? ?</dependency> </dependencies>

六、運行效果

由于代碼比較長,我放到最后了,這里先說下效果。

代碼啟動后,我們只需要變更任意表里面的數(shù)據(jù)即可看到控制臺打印內(nèi)容。

數(shù)據(jù)很清晰,有具體的數(shù)據(jù)庫,表,操作類型,以及字段及修改的值。

到這里基本就算結(jié)束了,后續(xù)就是根據(jù)業(yè)務(wù)自己推送到ES中。當(dāng)然,也可以使用官方的adapter推送到ES中。

七、編寫客戶端代碼

測試代碼官網(wǎng)地址:https://github.com/alibaba/canal/blob/master/example/src/main/java/com/alibaba/otter/canal/example/AbstractCanalClientTest.java

國內(nèi)的話,可以在綠色聊天軟件搜索:程序員朱永勝 ?關(guān)注回復(fù)1007領(lǐng)取代碼,不限速下載

6.1 BaseCanalClientTest

6.2 SimpleCanalClientTest

6.3 AbstractCanalClientTest


使用Canal同步mysql數(shù)據(jù)到es的評論 (共 條)

分享到微博請遵守國家法律
文昌市| 抚宁县| 蒙城县| 扶余县| 仁怀市| 黄平县| 哈尔滨市| 峨山| 友谊县| 隆化县| 靖西县| 重庆市| 富阳市| 樟树市| 新兴县| 高邮市| 米泉市| 山阳县| 沧源| 新巴尔虎右旗| 建始县| 泗阳县| 青龙| 台南市| 邛崃市| 青龙| 绍兴市| 崇礼县| 禄丰县| 伊吾县| 安岳县| 四平市| 德昌县| 潞西市| 永泰县| 海宁市| 福安市| 太和县| 蛟河市| 个旧市| 维西|