我有一个带有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)如何确保第二个应用程序开始处理来自两个分区的记录?我该如何证明这一点?
请帮忙!
答案 0 :(得分:0)
“另一个被困”是什么意思?你等了多久才开始消费?
在您的情况下,群集可能需要2分钟才能在您杀死其中一个后重新平衡您的消费者。它还取决于heartbeat.interval.ms
- 它越小,重新平衡的平均时间就越短。