【问题标题】:Can kafka connect - mongo source run as cluster (max.tasks > 1)可以 kafka 连接 - mongodb 源作为集群运行(max.tasks > 1)
【发布时间】:2020-04-10 21:04:59
【问题描述】:

我正在使用 kafka-connect 支持的以下mongo-source。 我发现mongo源的配置之一(来自here)是tasks.max

这意味着我可以提供大于 1 的连接器 tasks.max,但我不明白它在幕后会做什么?

如果它会创建多个连接器来监听 mongoDb 更改流,那么我最终会收到重复的消息。那么,mongo-source 真的具有并行性并且可以作为集群工作吗?如果它有超过 1 个 tasks.max,它会做什么?

【问题讨论】:

  • 我们如何运行那个源文件?

标签: mongodb apache-kafka apache-kafka-connect


【解决方案1】:

Mongo-source 不支持 tasks.max > 1。即使您将其设置为大于 1,也只有 一个 任务会将数据从 mongo 拉到 Kafka。

创建多少任务取决于特定的连接器。函数List<Map<String, String>> Connector::taskConfigs(int maxTasks),(应该在你的连接器的实现过程中被覆盖)返回列表,它的大小决定了任务的数量。 如果您检查 mongo-kafka 源连接器,您会看到它是 singletonList。

https://github.com/mongodb/mongo-kafka/blob/master/src/main/java/com/mongodb/kafka/connect/MongoSourceConnector.java#L47

【讨论】:

  • 我想知道为什么什么都没有写在文档中,并且只能通过访问代码来计算。
猜你喜欢
  • 2020-05-17
  • 2021-01-10
  • 2021-03-28
  • 2023-02-26
  • 2022-10-20
  • 2020-07-08
  • 2022-01-10
  • 1970-01-01
  • 2019-12-27
相关资源
最近更新 更多