java - 卡夫卡崩溃后,偏移量丢失
问题描述
我们的 kafka 系统崩溃了,因为没有可用的磁盘空间。消费者是使用 Kafka Streams API 的 Spring Boot 应用程序。现在每个消费者应用程序都显示以下错误:
java.io.FileNotFoundException: /tmp/kafka-streams/908a79bc-92e7-4f9c-a63a-5030cf4d3555/streams.device-identification-parser/0_48/.checkpoint.tmp (No such file or directory)
这个异常正好发生在 kafka 服务器重启之后。如果我们重新启动应用程序,服务将从偏移量 0 开始重播来自消费主题的所有消息。这是致命的。
我们检查了日志:在每个分区上都没有信息(示例行,我们有 60 个分区):
TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID
device-identification.received 0 - 0 - streams.device-identification-parser-3e81ef05-b9e3-495c-85b3-7e2912f00578-StreamThread-1-consumer-ca723291-3258-46c0-8b23-233bdc1e1191 /XX.X.X.X streams.device-identification-parser-3e81ef05-b9e3-495c-85b3-7e2912f00578-StreamThread-1-consumer
谁能帮我恢复偏移信息,服务从最后一个偏移开始?
解决方案
如果这是一个 Kafka Streams 应用程序,您可能会成功重置它,这可以使用 Confluent 的应用程序重置工具来完成:https ://docs.confluent.io/current/streams/developer-guide/app-reset-tool.html
推荐阅读
- javascript - Styled-Component :我想在 Styled-Component 中使用变量
- php - 如何在wordpress的Fieldmanager_TextArea中保留html标签
- java - 为什么我的变量被设置为不正确的值,尽管在三个不同的位置明确设置为正确的值?
- drop-down-menu - 在 ui-grid cellTemplate 中使用时,uib-dropdown 错位
- rust - 我可以使用 Deref
从其他继承特征实现? - python - OSError: [Errno 57] 套接字未连接
- java - 无法在 IntelliJ 中获取资源文件的相对路径 - Java/Selenium
- dart - 在 Flutter 中将图像与左上角对齐
- firebase - 如何使用 Cloud Firestore 进行分页?
- sonarqube - dotnet core sonarscanner 不接受参数