我们使用 confluent 的 s3 连接器将 avro 数据从主题发送到 s3。我们有 3 个代理节点,在所有 3 个代理节点上,我们都运行着 confluent s3 连接器。在连接器的配置文件中,我们有两个主题和任务.max=1。我是卡夫卡的新手,我有以下疑问:
- 由于我们总共有三个 s3 连接器,它们如何从每个主题读取(每个主题有 3 个分区和 2 个复制因子(。他们是被视为三个不同的消费者从同一主题读取,还是所有这些消费者都属于一个消费者组并并行读取数据?
- 每个连接器中都有两个主题。它们是启动不同的线程以并行读取两个主题的数据,还是按顺序使用(一次从主题读取(?
tasks.max=1
首先,将其设置为总分区数。
复制因子无关紧要。使用者一次只能从一个分区读取。
连接形成一个消费者群体。这是任何 Kafka 消费者客户端的基本设计。它们并行读取,具体取决于您的所有其他属性。
听起来你正在运行connect-standalone
,而不是connect-distributed
,但是
如果你有3台机器,显然使用分布式模式
是的,任务和线程在功能上是等价的,不同之处在于任务将重新平衡,而线程在逻辑上只在一台机器上。