Kafka學習筆記(六、Kafka Connect)


目錄:

  • 什么是Kafka Connect
  • Kafka Connect能干什么
  • Kafka Connect使用示例

什么是Kafka Connect

它是一種用於Kafka和其它系統之間(其它數據源)流式數據傳輸的工具,如Mysql >> Oracle,Json >> Mysql,MongoDB >> Elastic等。

常用於報表等,因為他們都需要從多個數據源中抽取需要的數據,然后再將這些數據處理,最后存到自己的數據源中。

——————————————————————————————————————————————————————

Kafka Connect功能:

  • 規范接口:規范了其它數據系統與Kafka的集成,簡化了連接器的開發、部署和管理
  • 提供分布式和單機模式:上至分布式集中管理,下到開發、測試和小規模的生產部署。
  • 提供RestAPI接口:提供RestAPI管理Connector。
  • 自動的offset管理:解決了開發連接器人員最難搞的offset維護問題。
  • 可擴展性:Kafka Connect基於現有的組管理協議,可添加更多的worker來擴展Kafka Connect集群。

Kafka Connect能干什么

1、提升獲取數據速度:當需要接受大數據,可以在幾毫秒之內就拿到這些數據並開始進行處理。

2、提供高可用的數據傳輸:數據管道傳輸數據到業務系統的過程中,其間不會出現單點故障。即便出現故障也可以自動從故障中恢復,保證數據的可靠性。

3、提供高吞吐量管道、有效應對數據峰值:數據管道可以支持非常高的吞量,而且數據管道可以應對突發的吞吐量增長。

4、規范接口:對開發者提供了統一的實現接口,開發、部署和管理都非常方便。

5、提供高擴展性:使用分布式模式進行水平擴展。

6、提供RestAPI管理Connectors:在分布式模式下可以通過Rest Api提交和管理Connectors。

注:目前Kafka Connect已經支持絕大部分的主流數據源,如JDBC、HDFS、HBase等。

Kafka Connect使用示例

使用Kafka Connect之前先來了解些基本的概念:

  • Source:負責導入數據到Kafka。
  • Sink:負責從Kafka導出數據。
  • Connectors:通過管理任務來協調數據流的高級抽象。
  • Tasks:數據寫入Kafka和從Kafka中讀出的具體實現。
  • Workers:運行connectors和tasks的進程。
  • Converters:Kafka connect和其他存儲系統直接發送或者接受數據之間轉換數據。
  • Transforms:一種輕量級數據調整的工具。

——————————————————————————————————————————————————————

1、單機模式

./connect-standalone.sh ../config/connect-file.properties ../config/connect-file-source.properties ../config/connect-file-sink.properties

2、分布式

  • 下載相應的第三方Connect后打包編譯。
  • 將jar丟到Kafka的libs目錄下。
  • 啟動connector。
  • 使用Rest API提交connector配置。
./connect-distributed.sh ../config/connect-distributed.properties


免責聲明!

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



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