apache-kafka - 备用任务未将更新写入 .checkpoint 文件
问题描述
我有一个 Kafka Streams 应用程序,该应用程序配置为为每个任务创建 1 个备用副本。我有两个正在运行的应用程序实例。当应用程序启动时,应用程序会为其负责的每个分区写入 .checkpoint 文件。它为活动和备用任务拥有的分区写入这些文件。
当发送要由应用程序处理的新 Kafka 事件时,包含该分区的活动任务的实例会更新 .checkpoint 文件中的偏移量。但是,第二个实例上的备用任务的 .checkpoint 文件永远不会更新。它保持在旧的偏移量。
我相信这导致我们在重新平衡时看到 OffsetOutOfRangeEceptions 被抛出,这导致任务被拆除并从头开始创建。
- 我是否认为应该为备用和活动任务中的分区写入偏移量?
- 这是否表明我的备用任务没有消耗,或者它可能纯粹无法写入偏移量?
- 任何想法可能导致这种行为?
流版本:2.3.1
解决方案
此问题已在 Kafka 2.4.0 中修复,解决了以下错误问题。apache.org/jira/browse/KAFKA-8755
注意:这个问题看起来只影响配置了 OPTIMIZE="all" 的应用程序
推荐阅读
- jmeter - jmeter记录器:如何在不创建新项目的情况下清除并重新开始记录
- python - 具有独立索引的动态数据透视表
- android - 为什么添加listView显示数据后应用崩溃
- reactjs - SVG 以错误的颜色显示
- php - 有时在脚本执行中数据库正在更新
- javascript - 如何检测 D3 v5(文本重叠)中的元素冲突
- c - 当大括号括起来的列表中的初始值设定项少于聚合的元素或成员时,C 编译器如何声明数组?
- python - 如何将 CSV 转换为固定宽度的文本文件?
- amazon-web-services - AWS 上的 Helm prometheus 自定义负载均衡器配置
- security - 访问令牌和刷新令牌最佳实践?如何实现访问和刷新令牌