在 Kafka Connect 分布式模式上为多个主题配置连接器

Configuring connectors for multiple topics on Kafka Connect Distributed Mode

我们有生产者向 Kafka 发送以下内容:

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调用。我意识到在单个进程中执行工作时 运行ning 或尝试 运行 tasks.max=24 并不理想。我知道使用分布式模式是更好的选择,但不清楚将连接器提交到分布式模式的性能最佳方式。即,

In distributed mode, would I still want to submit just a single elasticsearch.properties through a single API call?

它会是一个 JSON 文件,但是是的。

what dictates the number of workers?

由你决定。 JVM 使用是您可以监控和扩展的一个因素

据我所知,没有任何文档