所以我正在根据主要文档尝试kafka quickstart . 根据说明获得了多集群示例所有设置和测试,并且它可以工作 . 例如,关闭一个经纪人, 生产环境 者和消费者仍然可以发送和接收 .
但是,根据示例,我们设置了3个经纪人,我们将经纪人2(经纪人ID = 1)调低 . 现在,如果我再次提起所有经纪人,但是我将经纪人1(经纪人身份= 0)关闭,消费者就会挂起 . 这只发生在代理1(id = 0),代理2或3不会发生 . 我在Windows 7上测试它 .
经纪人1在这里有什么特别之处吗?查看配置,除了id,端口号和日志文件位置之外,它们在所有3个代理之间完全相同 .
我认为这只是提供的控制台消费者的一个问题,它没有占用代理列表,所以我根据他们的文档使用默认设置编写了一个简单的java使用者,但是在“bootstrap.servers”属性中指定了代理列表,但没有骰子,仍然得到同样的问题 .
在我启动经纪人1(经纪人ID = 0)的那一刻,消费者将恢复工作 . 对于消费者而言,这不是一种高度可用/容错的行为......有关如何设置HA /容错消费者的任何帮助?
生产环境 者似乎没有问题 .
1 回答
如果您遵循快速启动,则创建的主题应该只有一个分区,其中一个副本默认托管在第一个代理中,即代理1.这就是当您关闭此代理时消费者失败的原因 .
尝试创建具有多个副本的主题(在创建主题时指定--replication-factor)并重新运行测试以查看它是否带来更高的可用性 .