簡體   English   中英

在 Kafka Connect 分布式模式下為多個主題配置連接器

[英]Configuring connectors for multiple topics on Kafka Connect Distributed Mode

我們有生產者向 Kafka 發送以下內容:

  • topic=syslog,每天約 25,000 個事件
  • topic=nginx,每天約 5,000 個事件
  • topic=zeek.xxx.log,每天約 100,000 個事件(總計)。 在最后一種情況下,有 20 個不同的 zeek 主題,例如 zeek.conn.log 和 zeek.http.log

kafka-connect-elasticsearch實例作為消費者將數據從 Kafka 傳送到 Elasticsearch。 kafka-connect-elasticsearch的 hello-world Sink 配置可能如下所示:

# elasticsearch.properties
name=elasticsearch-sink
connector.class=io.confluent.connect.elasticsearch.ElasticsearchSinkConnector
tasks.max=24
topics=syslog,nginx,zeek.broker.log,zeek.capture_loss.log,zeek.conn.log,zeek.dhcp.log,zeek.dns.log,zeek.files.log,zeek.http.log,zeek.known_services.log,zeek.loaded_scripts.log,zeek.notice.log,zeek.ntp.log,zeek.packet_filtering.log,zeek.software.log,zeek.ssh.log,zeek.ssl.log,zeek.status.log,zeek.stderr.log,zeek.stdout.log,zeek.weird.log,zeek.x509.log
topic.creation.enable=true
key.ignore=true
schema.ignore=true
...

並且可以用bin/connect-standalone.sh調用。 我意識到在單個進程中執行工作時運行或嘗試運行tasks.max=24並不理想。 我知道使用分布式模式會是一個更好的選擇,但我不清楚將連接器提交到分布式模式的最佳性能方式。 即,

  • 在分布式模式下,我是否還想通過單個 API 調用只提交一個elasticsearch.properties 或者最好將多個.properties配置 + 連接器(例如一個用於 syslog,一個用於 nginx,一個用於 zeek.**)並分別提交?
  • 我知道tasks數等於主題數 x 分區數,但是什么決定了工作人員的數量?
  • 文檔中是否有任何地方介紹了針對不同主題的吞吐量明顯不平衡的情況的最佳實踐?

在分布式模式下,我是否仍想通過單個 API 調用僅提交單個 elasticsearch.properties?

它會是一個 JSON 文件,但是是的。

什么決定了工人的數量?

由你決定。 JVM 使用情況是您可以監控和擴展的因素之一

並不是我所知道的任何文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM