Canal——Canal-Adapter源碼在IDEA部署運行


 

一、下載源碼

我這里用的是canal-1.1.4版本

  • 源碼結構

client-adapter項目就是本次要部署運行的

  • 源碼導入到IDEA中的結構如下:

 

二、安裝配置

  • 找到manven模塊中有root的那個模塊,然后點擊install進行安裝

待安裝完成后,會在對應的項目的target目錄下產生相應的運行包,如果不想在開發工具中運行的話,直接拷貝對應的包即可。

  • 修改launcher的application.yml配置

  • es adapter配置

在launcher項目中的配置文件下創建es目錄並加入所需要同步的配置文件

 

三、運行調試

配置完畢后,直接運行launcher這個springBoot項目即可,也就是運行CanalAdapterApplication這個類就可以了。

 當看日志提示啟動成功后就代表啟動成功了!

 

四、測試驗證

增量同步測試跟canal-adapter安裝包部署運行一樣,這里主要介紹及測試一下條件同步全量同步功能,即etl功能。

launcher項目是一個spring boot項目,在其中的rest包下有一個controller類(CommonRest.java),里面提供了一些接口,其中一個用於全量同步數據的接口

  • canal全量同步

我們按照注釋的內容發送一個http請求即可:

 canal_db1.yml為es目錄下的配置文件,運行后出現以下提示信息,就可以讓canal_db1.yml配置的數據表的所有數據全同步到es中了

 在kibana中查看數據是否已經生成:

  • canal條件同步

如果想執行從某一個時刻的數據同步,在上面的測試URL后加上對應的參數就可以了

其參數由es的配置項決定的,以下截圖的配置文件中的etlCondition:

 

 

五、修改源碼

以下代碼增加了從索引模板中獲取mapping的處理邏輯:

重新編譯打包:

在項目的target目錄下,會生成編譯后的包,我這里修改的是es相關的,路徑如下:

 

更新到canal-adapter的plugin目錄下,重新服務就可以了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM