1. 概述
1.1 版本說明
FineDataLink 版本 | 功能變動 |
---|---|
4.0.5 | - |
4.1.3 | 管道任務寫入端主動檢查 Kafka 連結是否異常,若異常,則日誌提示並終止任務 |
4.1.13.2 | 認證方式新增「Kerberos 認證」 |
1.2 應用場景
在進行實時同步程式中,需要透過資料管道暫存來源資料庫中的資料,便於目標資料庫寫入資料,實現實時資料同步。
因此在設定配置管道任务前需要首先配置好暫存資料的中間軟體。
1.3 功能說明
FineDataLink 支援使用 Kafka 作為資料同步的中間軟體,實現:
讀寫兩端分離,以保證在持續增量同步程式中,讀寫兩端不會互相阻擋;
系統的短暫當機後,已讀取的資料可以不必再重複讀取;
不能正常寫入目標庫的髒資料能夠暫時儲存;
幫助你更好地實現實時資料同步。
1.4 使用限制
當前預設使用 Kafka 開源流處理平台。
只有 FDL 工程的超管才能配置傳輸佇列。
2. 前提條件
2.1 放置驅動
注:4.0.6 以及之後的版本已經內建了驅動,不需要此步驟。
驅動包:kafka.zip
使用前需要將驅動包中驅動解壓,並放置在 FineDataLink 工程%FineDataLink%\webapps\webroot\WEB-INF\lib目錄下。
2.2 增加配置
如果部署Kafka和 FDL 在同一台伺服器上,則直接參考本文第三節內容配置傳輸佇列即可。
但是如果部署Kafka和 FDL 不在一台伺服器上,Kafka 就需要進行一些單獨配置實現 Kafka 的跨伺服器存取。
1)若只需要內網存取 Kafka ,或者需要外網存取但是機器有外網網卡,此時只需要開啟 Kafka 安裝目錄下/config/kraft目錄中的 server.properties 檔案,把 Kafka 伺服器的 IP 和埠配置到 listeners,輸入以下程式碼:
注:一般只推薦配置內網埠。
如果需要外網存取但是機器沒有外網網卡,則需要開啟 Kafka 安裝目錄下/config/kraft目錄中的 server.properties 檔案,把 Kafka 伺服器的 IP 和埠配置到 listeners 和 advertised.listeners,如下圖所示:
注:Kafka 預設埠號為9092,可根據實際情況修改;上述程式碼的 ip 改為 kafka 的伺服器 ip 。
2)重啟 Kafka ,即先關閉 Kafka 再啟動,詳情參見:維運命令
3. 操作步驟
1)進入 FineDataLink 介面,點選「資料管道」,選擇「全局設定」按鈕。如下圖所示:
2)輸入部署 Kafka 的地址(填寫 IP 和埠),注:預設埠號為 9092,並設定資料暫存時間,點選測試連結,如下圖所示:
注1:Kafka 資料暫存時間不可超過 90,超出後將採用“先進先出”的原則清理。
注2:支援 Kafka 單機或叢集,填寫 IP 地址或主機名以及埠號,多個地址以,隔開。
注3:「Kerberos 認證」相關說明請參見:配置Kafka資料源;若資料管道的來源端為 Kafka,若配置資料連結、傳輸佇列都需要「Kerberos 認證」,則兩邊都配置「Kerberos 認證」即可。
提示連結成功,即可點選儲存,配置成功。如下圖所示:
4. 後續步驟
配置傳輸佇列後,即可設定資料管道任務,詳情參見:配置管道任务