1. 概述
1.1 版本
| 版本 | 功能變動 |
|---|---|
| 4.0.20.1 | 支援0.10.2以上的Kafka版本 |
| 4.1.11.4 | 實時任務支援 Kafka 資料源 |
| 4.1.13.2 | 支援 Kerberos 認證 |
| 4.2.10.4 | Kafka 常用的配置參數支援前端可配置 |
1.2 應用場景
為了便於使用者透過配置 Kafka 消費者的方式,實時從 Kafka 中取數。FineDataLink 支援配置 Kafka 資料連結。
注:Kafka 認證目前暫不支援 SASL_SSL 認證。
2. 準備工作
2.1 前提條件
詳情請參見:前提條件
2.2 收集連結資訊
在連結之前,請收集以下資訊:
1)Kafka 服務的 IP 地址和埠號。
2)若是帳號密碼認證,需要收集帳號和密碼;4.1.13.2 及之後版本,若為 Kerberos 認證,需要:
下載環境上的配置檔案 krb5.conf、XXX.keytab、principal 。
XXX.keytab 為金鑰表檔案,需要在提供 Kerberos 服務的應用伺服器上找到該檔案的對應位置。在不同伺服器上 keytab 的檔案名稱可能不一樣,這裏用 XXX 代替。
2.3 配置 hosts 檔案
注:本節步驟適用場景:4.1.13.2 及之後版本,認證方式為 Kerberos 認證;其他場景忽略本節內容。
配置本地 hosts 檔案,例如路徑為C:\Windows\System32\drivers\etc\hosts,在此檔案增加遠端映射的配置,映射格式為「 IP 機器名」。如下圖所示:
注:對於維運平台部署的工程,如果需要使用 kerberos 認證,需要修改容器與宿主機的 host ,新增資料庫和 kerberos 認證中心的域名。

2.4 具體連結步驟
建立資料連結步驟請參見:建立並管理資料源
部分設定項說明:

設定項說明如下表所示:
| 配置項 | 配置說明 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| kafka服務地址 | 詳情請參見:快取配置
| ||||||||||
| 認證方式 | 無認證、帳號密碼、Kerberos 帳號密碼:輸入連結使用的 Kafka 使用者帳號和密碼 Kerberos:
1)Kerberos服務名稱:
注:「Kerberos服務名稱」需要在 Kafka 伺服器上獲取,路徑為kafka/config/server.properties 2)keytab金鑰路徑:
3)使用者端principal: principal 為註冊過 KDC 的使用者端名稱,從 keytab 金鑰中解析生成後,自動填充 principal 的格式通常為帳號/部門@公司,確認 principal 是否正確的方式是在資料庫服務端 shell 執行klist 或者 kinit -k -t /path/to/keytab name_of_principal 或直接透過 beeline、impala-shell 等工具連結開啟認證的服務,並查看對應的 principal 資訊 例如:Hive 服務對應 principal 為 hive /bigdata@XXX.COM,而 Impala 服務對應的 principal為impala/bigdata@XXX.COM 4)krb5.com檔案: 僅允許上傳類型為 CONF 的檔案,即上傳 krb5.conf 檔案 | ||||||||||
| 編碼 | 即encoding參數,當鍵類型KEY或者值類型MESSAGE配置為STRING時,決定讀取時的編碼。 注:預設編碼是utf-8 | ||||||||||
| 單次讀取最小位元組數(B) | 使用者可以手動填寫 校驗項:
| ||||||||||
| 單次讀取時間(ms) | 使用者可以手動填寫 校驗:
| ||||||||||
| 擴展參數項 | 支援新增/刪除參數項和參數值 可以參考:Apache Kafka 進行配置
| ||||||||||
3. 使用資料源
支援「資料管道」和「實時任務」使用 Kafka,詳情參見:資料管道任務-Kafka
