卡夫卡流拓扑卡在num.stream.threads = 50和100个分区中

时间:2019-03-21 16:01:16

标签: apache-kafka apache-kafka-streams

有一个拓扑:

kStreamBuilder.stream(kafkaProperties.getInboundTopicName(), consumed)
            .filterNot((k,v) -> Objects.isNull(v))
            .transform(() -> new CustomTransformer(...))
            .transform(() -> new AnotherTransformer(...))
            .to(kafkaProperties.getOutTopicName(), resultProduced);

已配置

num.stream.threads: 50

在启动应用程序中不断记录消息(我不是100%确定它卡住了,但是20分钟后状态和CPU都没有变化,网络使用率很高):

State transition from RUNNING to PARTITIONS_REVOKED    
AbstractCoordinator          : [Consumer clientId=consumer_id-StreamThread-1-consumer, groupId=group_id] (Re-)joining group
AbstractCoordinator          : [Consumer clientId=consumer_id-StreamThread-2-consumer, groupId=group_id] (Re-)joining group
AbstractCoordinator          : [Consumer clientId=consumer_id-StreamThread-3-consumer, groupId=group_id] (Re-)joining group
AbstractCoordinator          : [Consumer clientId=consumer_id-StreamThread-4-consumer, groupId=group_id] (Re-)joining group
AbstractCoordinator          : [Consumer clientId=consumer_id-StreamThread-5-consumer, groupId=group_id] (Re-)joining group

主题有100个分区。

我们注意到的是:每个转换器都使用它自己的persistentStateStore。将其替换为inMemoryStateStore后,上面仍然写有日志,但在大约3分钟后拓扑成功启动。

Kafka流2.1.0版。 经纪人版本1.1.0

0 个答案:

没有答案