Kafka Connect - 无法提交偏移量和刷新
Posted
技术标签:
【中文标题】Kafka Connect - 无法提交偏移量和刷新【英文标题】:Kafka Connect - Failed to commit offsets and flush 【发布时间】:2020-06-04 14:28:49 【问题描述】:我的 Kafka 连接器已暂停,重新启动后,我的日志中出现了这些错误
[2020-02-19 19:36:00,219] ERROR WorkerSourceTaskid=wem-postgres-source-0 Failed to commit offsets (org.apache.kafka.connect.runtime.SourceTaskOffsetCommitter)
************
************
[2020-02-19 19:36:00,216] ERROR WorkerSourceTaskid=wem-postgres-source-0 Failed to flush, timed out while waiting for producer to flush outstanding 2389 messages (org.apache.kafka.connect.runtime.WorkerSourceTask)
由于未完成消息的数量发生了变化,我多次收到此错误。然后它停下来,再也没有看到它。
我是否需要在此处采取任何措施或 Connect 已重试并提交了偏移量,这就是错误停止的原因?
谢谢
【问题讨论】:
【参考方案1】:该错误表示有大量消息缓冲,在达到超时之前无法刷新。要解决这个问题,您可以
在 Kafka Connect Worker Configs 中增加offset.flush.timeout.ms
配置参数
或者您可以通过减少 Kafka Connect Worker 配置中的 producer.buffer.memory
来减少缓冲的数据量。当您有相当大的消息时,这将成为最佳选择。
【讨论】:
所以这可能是因为连接器被暂停,然后会有大量数据通过? @AnonymousAlias 可能就是这种情况。 您知道它是否会重试然后刷新并提交,还是会丢失数据并需要调整设置并重新启动? 您检查过连接器的状态吗?我假设它已经处于FAILED
阶段。
如果提交偏移量失败,则意味着偏移量未提交的消息通常应该在之后提交。因此,您可能没有丢失任何消息,但正如我所提到的,我不确定这一点。以上是关于Kafka Connect - 无法提交偏移量和刷新的主要内容,如果未能解决你的问题,请参考以下文章