sha*_*zhu 8 apache-kafka apache-kafka-connect ibm-eventstreams
我启动了一个 kafka-connect 分布式工作集群,它使用该主题connect-offset进行偏移存储:
offset.storage.topic=connect-offset
Run Code Online (Sandbox Code Playgroud)
由于代理提供了默认策略“cleanup.policy=delete”,因此当使用“cleanup.policy=compact”创建主题时,我最终将获得该主题的“cleanup.policy=compact,delete”。这会导致 kafka-connect 工作进程抛出异常:
org.apache.kafka.common.config.ConfigException:通过“offset.storage.topic”属性提供的主题“slpe-connect-offset”需要具有“cleanup.policy=compact”以保证源连接器的一致性和持久性偏移量,但发现该主题当前有“cleanup.policy=compact,delete”。继续可能会导致最终丢失源连接器偏移,并在将来重新启动此 Connect 集群时出现问题。更改 Connect Worker 配置中的“offset.storage.topic”属性,以使用带有“cleanup.policy=compact”的主题。
问题:是否有任何 kafka-connect 工作配置允许吃此异常以保留工作进程?虽然这是一个风险,但delete只有达到保留或大小限制才会发生。
此验证在KAFKA-9216 ( PR )中引入,并影响 2.3.2、2.6.0、2.4.2、2.5.1 版本:
当前的更改有助于防止用户运行 Connect 与启用了删除清理策略的主题,这将删除所有早于保留时间的连接器配置、源偏移以及连接器和任务状态。这意味着,例如,长时间运行的连接器的配置可能会被代理删除,这将在后续重新平衡或重新启动 Connect 工作线程时导致重新启动问题。连接行为要求其内部主题被压缩并且在保留一段时间后不会被删除
因此,强烈不建议对 Kafka Connect 内部主题使用删除清理策略:只需重新创建这些主题即可。
没有任何配置属性可以忽略此验证,但如果您愿意,可以将 Kafka Connect 降级到没有它的版本。
| 归档时间: |
|
| 查看次数: |
7137 次 |
| 最近记录: |