Kafka流:用于多个主题分区的多个流应用程序

时间:2017-10-08 07:32:05

标签: apache-kafka apache-kafka-streams

我有一个带有2个分区和2个kafka流应用程序的输入主题,它们具有相同的application.id和不同的sink主题。

1)我同时启动两个应用程序并开始接收数据,但是当我杀死其中一个应用程序时,另一个应用程序仍然遇到困难。 (仅供参考,消费者设置已将SESSION_TIMEOUT_MS_CONFIG设置为120000)

  

[2017-10-08 00:26:17,297] DEBUG [kafka-coordinator-heartbeat-thread | ]发送组test.joins.hourly的Heartbeat请求到协调器:9092(id:2147483647 rack:null)(org.apache.kafka.clients.consumer.internals.AbstractCoordinator)   [2017-10-08 00:26:17,398] DEBUG [kafka-coordinator-heartbeat-thread | test.joins.hourly]收到成功的心跳响应组test.joins.hourly(org.apache.kafka.clients.consumer.internals.AbstractCoordinator)

2)如何确保第二个应用程序开始处理来自两个分区的记录?我该如何证明这一点?

请帮忙!

1 个答案:

答案 0 :(得分:0)

“另一个被困”是什么意思?你等了多久才开始消费?

在您的情况下,群集可能需要2分钟才能在您杀死其中一个后重新平衡您的消费者。它还取决于heartbeat.interval.ms - 它越小,重新平衡的平均时间就越短。