[英]Kafka Connect MongoDB Source Connector failure scenario
我需要使用 Kafka Connect 监控对具有一个主副本和 2 个副本的 MongoDB 集群的更改。
我看到有官方的MongoDB 连接器,我想了解连接器的行为,以防主副本失败。 它会自动从一个将成为新主副本的辅助副本中读取吗? 我在官方文档中找不到这方面的信息。
我看过这篇与tasks.max配置相关的帖子,我认为这可能与这种情况有关,但答案暗示它始终默认为 1。
我还查看了Debezium 的连接器实现,它似乎自动支持这种情况:
MongoDB 连接器还可以很好地容忍副本集的成员资格和领导层的变化、分片集群中分片的添加或删除以及可能导致通信失败的网络问题。 连接器始终使用副本集的主节点来 stream 更改,因此当副本集进行选举并且不同的节点成为主节点时,连接器将立即停止流式传输更改,连接到新的主节点,并使用新的主节点开始流式传输更改节点。
此外,Debezium 的tasks.max配置属性版本指出:
应为此连接器创建的最大任务数。 MongoDB 连接器将尝试为每个副本集使用单独的任务,[...] 以便每个副本集的工作可以由 Kafka Connect 分发。
问题是 - 我可以使用默认连接器获得相同的默认行为 - 正如为 Debezium 所宣传的那样? 由于外部原因,我暂时无法使用 Debezium。
在 PSS 部署中:
您引用的报价表明连接器可能正在使用主要读取首选项,这意味着只要两个节点启动,它就会工作,如果只有一个节点启动,它将不会检索任何数据。
因此,将三个节点中的两个拉下来,观察是否能够查询。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.