当前位置: 首页 > 知识库问答 >
问题:

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

况景龙
2023-03-14

我们有制作人将以下内容发送给Kafka:

  • 主题=系统日志,每天 ~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弹性搜索的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/connectstandalone.sh调用。我意识到运行或尝试运行任务。max=24当在单个过程中执行工作时不理想。我知道使用分布式模式将是更好的选择,但不清楚将连接器提交到分布式模式的最佳性能方式。即

  • 在分布式模式下,我还想通过单个API调用提交单个elasticsearch.properties吗?还是最好拆分多个。属性配置连接器(例如,一个用于syslog,一个用于ngin x,一个用于zeek。**)并分别提交它们?
  • 我知道任务等于主题的数量x分区的数量,但是是什么决定了工作人员的数量?
  • 在留档中是否存在针对不同主题的吞吐量明显不平衡的情况的最佳实践?

共有1个答案

狄阳华
2023-03-14

在分布式模式下,我还想通过单个API调用提交单个elasticsearch.properties吗?

它应该是一个JSON文件,但是的。

什么决定了工人的数量?

取决于你。JVM使用率是您可以监视和扩展的一个因素

据我所知没有留档

 类似资料:
  • 分布式模式下Kafka Connect集群的偏移管理行为是什么,即运行多个连接器并监听同一组主题(或一个主题)? 因此,在分布式模式下,Kafka Connect 会将偏移量信息存储在 Kafka 中,此偏移量将由集群中的工作线程读取和提交。如果我在该 Kafka Connect 集群中运行多个连接器侦听同一主题,会发生什么情况?分区的偏移量是否与所有连接器相同,或者每个连接器在分区上的偏移量是否

  • 我正在开发debezium mongodb源连接器。我可以通过提供kafka引导服务器地址作为远程机器(部署在Kubernetes中)和远程MongoDB URL在分布式模式下在本地机器中运行连接器吗? 我尝试了这一点,我看到连接器成功启动,没有错误,只有几个警告,但没有数据从MongoDB流动。 使用以下命令运行连接器 遵循以下教程:https://medium.com/tech-that-wo

  • 我在分布式模式下运行Kafka连接,有两个不同的连接器,每个连接器都有一个任务。每个连接器都在不同的实例中运行,这正是我想要的。 Kafka connect集群是否总是确保相同的行为来适当地分担负载?

  • 我有两个Kafka连接器节点,分别是Node-A和Node-B。 我在每个节点中运行一个分布式工作器(指向同一个Kafka集群)。 组id和客户机id在两个分布式工作线程中是唯一的。 连接器任务是在两个节点上使用 http POST 请求成功创建的。连接器任务为同一主题生成消息。 注意:我知道分配的工人应该有相同的组id来分配任务。但我是针对一个具体的案例,作为一个实验来做上面所说的。 我使用来自

  • 这里我的疑问是,如果我使用多个分布式数据库,cam如何在配置(application.properties)中提到不同的DB源URL?目前我正在使用以下结构来使用一个数据库, 就像上面那样。 所以,如果我使用多个DB用于多个区域,我如何在这里给出有条件的配置?我是微服务世界和分布式数据库设计模式的新手。

  • [2017-08-31 10:15:20715]警告配置“内部”。钥匙已提供“转换器”,但不是已知的配置。(org.apache.kafka.clients.admin.AdminClientConfig:231)[2017-08-31 10:15:20715]警告配置的状态。存储复制。提供了“因子”,但不是已知的配置。(org.apache.kafka.clients.admin.AdminCl