【发布时间】:2018-06-18 12:16:42
【问题描述】:
我有四个使用相同应用程序 ID 运行的 Kafka 流应用程序实例。所有输入主题都属于单个分区。为了实现可扩展性,我通过一个具有多个分区的中间虚拟主题传递了它。我已将request.timeout.ms 设置为 4 分钟。
Kafka 实例进入 ERROR 状态,没有抛出任何异常。很难弄清楚确切的问题是什么。有什么想法吗?
[INFO ] 2018-01-09 12:30:11.579 [app-new-03-cb952917-bd06-4932-8c7e-62986126a5b4-StreamThread-1] StreamThread:939 - stream-thread [app-new-03-cb952917-bd06-4932-8c7e-62986126a5b4-StreamThread-1] Shutting down
[INFO ] 2018-01-09 12:30:11.579 [app-new-03-cb952917-bd06-4932-8c7e-62986126a5b4-StreamThread-1] StreamThread:888 - stream-thread [app-new-03-cb952917-bd06-4932-8c7e-62986126a5b4-StreamThread-1] State transition from RUNNING to PENDING_SHUTDOWN.
[INFO ] 2018-01-09 12:30:11.595 [app-new-03-cb952917-bd06-4932-8c7e-62986126a5b4-StreamThread-1] KafkaProducer:972 - Closing the Kafka producer with timeoutMillis = 9223372036854775807 ms.
[INFO ] 2018-01-09 12:30:11.605 [app-new-03-cb952917-bd06-4932-8c7e-62986126a5b4-StreamThread-1] StreamThread:972 - stream-thread [app-new-03-cb952917-bd06-4932-8c7e-62986126a5b4-StreamThread-1] Stream thread shutdown complete
[INFO ] 2018-01-09 12:30:11.605 [app-new-03-cb952917-bd06-4932-8c7e-62986126a5b4-StreamThread-1] StreamThread:888 - stream-thread [app-new-03-cb952917-bd06-4932-8c7e-62986126a5b4-StreamThread-1] State transition from PENDING_SHUTDOWN to DEAD.
[WARN ] 2018-01-09 12:30:11.605 [app-new-03-cb952917-bd06-4932-8c7e-62986126a5b4-StreamThread-1] KafkaStreams:343 - stream-client [app-new-03-cb952917-bd06-4932-8c7e-62986126a5b4] All stream threads have died. The Kafka Streams instance will be in an error state and should be closed.
[INFO ] 2018-01-09 12:30:11.605 [new-03-cb952917-bd06-4932-8c7e-62986126a5b4-StreamThread-1] KafkaStreams:268 - stream-client [app-new-03-cb952917-bd06-4932-8c7e-62986126a5b4] State transition from RUNNING to ERROR.
【问题讨论】:
-
尝试注册
UncaughtExceptionHandler以获取更多详细信息:docs.confluent.io/current/streams/developer-guide/… 或将日志级别提高到 DEBUG -
是的!日志级别已经处于调试模式,并且有一个 uncaughtExceptionHandler 已经注册到 kafka 流 - 仍然没有记录任何内容。
-
这很奇怪...
Shutting down消息之前记录了什么? -
我有一个自定义的流分区器。从中不断写入一条日志行“EventStreamPartitioner:20 - 代码'isro'和分区'109'”。
-
我有一个消费者偏移重置工具,它使用 OffsetCommitRequest 更改主题的偏移。我停止了应用程序并使用该工具更改了输入主题和中间主题的偏移量。我有两个经纪人,我将请求发送给了一个经纪人。然后重新启动应用程序,之后它不断进入 ERROR 状态。我认为偏移量更改导致日志文件损坏。一旦我更改了消费者组 ID,它就起作用了。但我仍然不确定偏移量更改后 kafka 日志文件损坏的原因是什么