最佳實踐概述
場景描述
Kafka Connect可以將完整的數據庫注入到Kafka的Topic中,或者將服務器的系統監控指標注入到Kafka,然后像正常的Kafka流處理機制一樣進行數據流處理。而導出工作則是將數據從Kafka Topic中導出到其它數據存儲系統、查詢系統或者離線分析系統等。
如果您想要在流數據平臺場景下,使用Kafka Connect快速實現數據從Kafka和其它系統之間進行導入導出,可以參考本實踐方案。
技術架構圖
暫無。
方案優勢
用戶可按業務需要,參考Kafka Connect數據導入導出,實現流數據的消息消費。
前提條件
需已購買Kafka實例、創建Topic,并且已成功消費消息。
資源規劃
本實踐方案內容僅涉及Kafka專享版實例和Flink的安裝配置。
分布式消息服務
Figure 1 分布式消息服務
| 資源類型 | 配置項 | 配置明細 | 說明 |
|---|---|---|---|
| 企業中間件 | DMS | Kafka專享實例 | 需已購買kafka專享實例,創建好Topic,并成功消費消息。 |
Kafka Connect流數據平臺
Figure 2 Kafka Connect流數據平臺
| 資源類型 | 配置項 | 配置明細 | 說明 |
|---|---|---|---|
| 應用軟件 | Flink框架 | Flink 1.14 | 使用開源Apache Flink |
方案正文
Kafka Connect 目前支持兩種執行模式:standalone 和 distributed。
standalone模式
通過以下命令以 standalone 模式啟動 connect:

接入Kafka專享版與接入開源 Apache Kafka 沒有區別,僅需要修改 bootstrap.servers 為申請實例時分配的 IP。
distributed模式
通過以下命令以 distributed 模式啟動 connect:

該模式下,Kafka Connect 會將 offsets、configs 和 task status 信息存儲在 Kafka Topic 中,存儲的Topic 在 connect-distributed 中的以下字段配置:

這三個 Topic 需要手動創建,才能保證創建的屬性符合 connect 的要求。
- config.storage.topic 需要保證只有一個 partition,多副本且為 compact 模式。
- offset.storage.topic 需要有多個 partition,多副本且為 compact 模式。
- status.storage.topic 需要有多個 partition,多副本且為 compact 模式。
配置 bootstrap.servers 為申請實例是分配的 IP。
配置 group.id,用于標識 connect 集群,需要與消費者分組區分開來。