Kafka 0.10快速启动:消费者在"主要"经纪人被打倒了

时间:2017-01-20 05:02:58

标签: apache-kafka kafka-consumer-api

所以我按照主要文档尝试了kafka quickstart。根据说明获得了多集群示例所有设置和测试,并且它可以工作。例如,关闭一个经纪人,生产者和消费者仍然可以发送和接收。

但是,根据示例,我们设置了3个经纪人,我们将经纪人2(经纪人ID = 1)调低。现在,如果我再次提起所有经纪人,但是我将经纪商1(经纪人ID = 0)调低,那么消费者就会挂起。这只发生在代理1(id = 0),代理2或3不会发生。我在Windows 7上测试它。

经纪人1在这里有什么特别之处吗?查看配置,除了id,端口号和日志文件位置之外,它们在所有3个代理之间完全相同。

我认为这只是提供的控制台消费者的一个问题,它不会占用代理列表,所以我根据他们的文档使用默认设置编写了一个简单的java消费者,但指定了&中的代理列表#34; bootstrap.servers"财产,但没有骰子,仍然会遇到同样的问题。

当我启动经纪人1(经纪人ID = 0)时,消费者将恢复工作。对于消费者而言,这不是一种高度可用/容错的行为......有关如何设置HA /容错消费者的任何帮助?

生产者似乎没有问题。

1 个答案:

答案 0 :(得分:1)

如果您遵循快速启动,则创建的主题应该只有一个分区,其中一个副本默认托管在第一个代理中,即代理1.这是消费者在您关闭时失败的原因这个经纪人。

尝试创建具有多个副本的主题(在创建主题时指定--replication-factor)并重新运行测试以查看它是否带来更高的可用性。