canal簡介
早期,阿里巴巴B2B公司因為存在杭州和美國雙機房部署,存在跨機房同步的業務需求,不過早期的資料庫同步業務,主要是基于trigger的方式獲取增量變更,不過從2010年開始,阿里系公司開始逐步的嘗試基于資料庫的日志決議,獲取增量變更進行同步,由此衍生出了增量訂閱&消費的業務,從此開啟了一段新紀元,ps. 目前內部版本已經支持mysql和oracle部分版本的日志決議,當前的canal開源版本支持5.7及以下的版本(阿里內部mysql 5.7.13, 5.6.10, mysql 5.5.18和5.1.40/48)
canal可以干嘛:
基于日志增量訂閱&消費支持的業務:
資料庫鏡像
資料庫實時備份
多級索引 (賣家和買家各自分庫索引)
search build
業務cache重繪
價格變化等重要業務訊息
下載地址:鏈接: https://github.com/alibaba/canal/releases

RDS
有不少公司的生產環境資料庫用的是阿里云的RDS,我們知道canal監聽我們自己服務器的資料庫只需要改改資料庫的配置就行了但是RDS怎么改呢接下來讓我們開始
1 創建RDS賬號
登入到RDS控制臺



2.配置canal
進入到usr/local目錄下,在該目錄下使用如下命令新建canal檔案夾
cd /usr/local
ls
mkdir canal
給予權限
//給canal賦予讀寫權限
chmod 777 canal
//給canal及其以下子目錄賦予讀寫權限
chmod -R 777 canal
使用工具將下載好的canal放置在canal檔案下

解壓canal的壓縮包
tar -zxvf canal.deployer-1.1.4.tar.gz

解壓后會出現一些檔案夾

- bin
啟動和停止的腳本 - conf
組態檔 - lib
一些jar包不用管 - log
存放canal日志啟動好后可以到這里來看日志
修改canal的組態檔

進入到conf下的example下面會有一個instance.properties使用vim進行修改

wq保存退出,修改完成后,cd到bin目錄下使用如下命令啟動canal
./startup.sh
啟動完成進入logs下的canal查看日志,如果看到這樣的那代表啟動成功

查看是否監聽成功,如果看到這個,那就代表監聽成功
c.a.o.canal.parse.inbound.mysql.dbsync.LogEventConvert - --> init table filter : ^st_aiui.res_channel_resource$|^st_aiui.res_channel$

至此,canal監聽RDS成功
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/232460.html
標籤:其他
