卡夫卡流收听多个主题挂起

时间:2019-06-11 00:51:32

标签: apache-kafka apache-kafka-streams

我正在使用kafka流api,并且遇到了一些问题,在这些问题上我订阅了多个主题,而使用者却挂了。它具有唯一的application.id,在kafka中可以看到已经创建了消费者组,但是当我描述该消费者组时,我将得到:consumer group X has no active members。我已经将它运行了将近一个小时。

有趣的是,当topics列表仅包含1个主题时,此方法有效。我对创建多个源的其他答案不感兴趣,例如:source1 = builder.stream("topic1")source2 = builder.stream("topic2"),因为StreamsBuilder.stream的接口支持一系列主题。

之前我已经可以订阅多个主题,但是我无法复制我们的操作方式。 (此代码在不同的环境中运行并按预期运行,因此不确定是时间问题还是其他原因

List<String> topics = Arrays.asList("topic1", "topic2");

StreamsBuilder builder = new StreamsBuilder();
KStream<String, String> source = builder.stream(topics);

source
.transformValues(...)
.map(key, value) -> ...)
.to((key, value, record) -> ...);

new KafkaStreams(builder.build(), props).start();

UPDATE 06/18/19 启用日志后,很明显,我们正在尝试订阅和发布不存在的主题。虽然我们有auto.topic.create.enable=true,但没关系。因此最终进行了启动检查,如果未事先创建所有主题,则会导致脚本退出,因为我们没有动态创建主题。

0 个答案:

没有答案