我有一个每分钟创建五个线程的管道,每个线程执行以下操作:
一旦分钟结束,就会杀死线程并重复该过程。请注意,所有线程都使用相同的 groupId 。
过了一段时间,我会说在30分钟到几个小时之间,我开始看到每个线程的这个异常并且他们停止消费消息:
sycedRebalance期间出现错误(kafka.consumer.ZookeeperConsumerConnector) kafka.common.ConsumerRebalanceFailedException:在kafka.consumer.ZookeeperConsumerConnector $ ZKRebalancerListener.syncedRebalance(ZookeeperConsumerConnector.scala:633)重试4次后无法重新平衡 at kafka.consumer.ZookeeperConsumerConnector $ ZKRebalancerListener $$ anon $ 1.run(ZookeeperConsumerConnector.scala:551)
即使在所有线程被杀死,Kafka消费者关闭并创建了新线程之后,这种情况仍在继续发生。
如果我运行这个让线程永远存在,那么它似乎没有任何问题。
Kafka是否应该支持这样的案例,其中一段时间后不断创建和删除给定groupId的消费者?
我正在使用Kafka 0.8.2.1
谢谢!
答案 0 :(得分:0)
似乎这个问题的解决方案是升级Kafka,因为这是Kafka 0.8。+的已知问题。 这应该在0.9。+中修复,更多细节在这里:https://github.com/IBMStreams/streamsx.messaging/issues/125