Kafka连接中连接符和任务之间的关系是什么?

tct7dpnv  于 2021-07-15  发布在  Kafka
关注(0)|答案(0)|浏览(99)

我们在一个项目中使用kafkaconnect已经有一段时间了,目前只完全使用合流的kafkaconnectjdbc连接器。我很难理解“任务”在Kafka连接中的作用,特别是这个连接。我理解“连接器”;它们包含了一系列关于特定源/汇的配置,以及它们从/连接到的主题。我知道有一个 1:Many 连接器和任务之间的关系,以及任务用于并行工作的一般原则。但是,我们如何理解连接器何时将/可能创建多个任务?
在源连接器的情况下,我们使用jdbc连接器通过时间戳和/或主键来获取源数据,因此这在本质上是连续的。实际上,我们所有的源连接器似乎只有一个任务。什么会触发kafka connect创建多个连接器?目前我们在分布式模式下运行kafka connect,但是只有一个worker;如果我们有多个worker,那么每个连接器可能有多个任务,或者这两个任务不相关?
在sink连接器的情况下,我们显式地将每个sink连接器配置为 tasks.max=1 ,所以毫不奇怪,对于每个连接器,我们也只能看到一个任务。如果我们删除了这个配置,我们可能会得到多个任务。这是否意味着输入主题上的消息可能会被无序地使用?在这种情况下,如何确保更改的数据一致性?
此外,我们时常会看到这样的情况:单个连接器和任务都将进入失败状态(因为输入连接问题)。重新启动任务将使其从此状态中移除,并重新启动数据流,但连接器仍处于失败状态。这怎么可能-连接器的状态不就是它所有子任务的集合吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题