背景:
我正在使用ApacheKafka0.10.1.0。我正在运行一个有3个节点的kafka集群。我有一个复制因子为3,分区为1的主题。为了测试容错性,我重新启动了node3。在此节点上手动启动zk和kafka服务器。当我描述这个主题时,我得到了这样一个结论:
$KAFKA_HOME/bin/kafka-topics.sh --describe --zookeeper 192.168.33.21:2181 --topic replicated-topic-1
Topic:replicated-topic-1 PartitionCount:1 ReplicationFactor:3 Configs:
Topic: replicated-topic-1 Partition: 0 Leader: 2 Replicas: 2,3,1 Isr: 1,2,3
这说明集群在一次失败中幸存了下来。我生成了10条消息来测试集群。
问题:
现在,当我尝试使用控制台使用者时,它与node1和node2一起工作,但是当我使用node3(重新启动的那个)时,它会给我一个警告 no brokers found when trying to rebalance
并且不使用任何消息(在我的例子中有10条):
$KAFKA_HOME/bin/kafka-console-consumer.sh --zookeeper 192.168.33.23:2181 --topic replicated-topic-1 --from-beginning
[2016-10-29 01:35:43,276] WARN [console-consumer-55914_debian-70rc1-x64-vbox4210-1477704943013-947af681], no brokers found when trying to rebalance. (kafka.consumer.ZookeeperConsumerConnector)
^CProcessed a total of 0 messages
如果我使用其他两个节点(1或2)中的任何一个,我会得到主题中的所有10条消息。有趣的是,我使用node3来描述这个主题,它仍然可以正常工作。只是消费者不能使用node3来消费,不管我重新加载和重启它多少次。如何在不重新启动集群的情况下修复node3?
暂无答案!
目前还没有任何答案,快来回答吧!