【问题标题】:Kafka 0.10 quickstart: consumer fails when "primary" broker is brought downKafka 0.10 快速入门:当“主要”代理关闭时,消费者失败
【发布时间】:2018-12-14 06:48:29
【问题描述】:

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

但是,根据示例,我们设置了 3 个代理并关闭了代理 2(代理 id = 1)。现在,如果我再次启动所有代理,但我关闭代理 1(代理 id = 0),消费者就会挂起。这只发生在代理 1 (id = 0) 上,不会发生在代理 2 或 3 上。我正在 Windows 7 上进行测试。

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

我认为这只是提供的控制台使用者的一个问题,它没有使用代理列表,所以我根据他们的文档使用默认设置编写了一个简单的 java 使用者,但在“bootstrap.xml”中指定了代理列表。服务器”属性,但没有骰子,仍然会遇到同样的问题。

在我启动代理 1(代理 id = 0)的那一刻,消费者将恢复工作。对于消费者而言,这不是一种高可用性/容错行为......有关如何设置 HA/容错消费者的任何帮助?

制作人似乎没有问题。

【问题讨论】:

    标签: apache-kafka kafka-consumer-api


    【解决方案1】:

    如果您遵循快速入门,创建的主题应该只有一个分区和一个副本,默认情况下托管在第一个代理中,即代理 1。这就是当您关闭该代理时消费者失败的原因。

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

    【讨论】:

    • 我遵循了快速启动多集群部分,该部分指示我创建复制因子为 3 的主题,所以不是这样。但是,它没有询问有关多分区的任何信息。分区重要吗?
    • “重要”是什么意思?
    • 很重要,因为这会是我的问题的原因吗?您建议的复制设置与我已经按照快速入门中的文档进行的设置不同。
    • 我还在为同样的问题苦苦挣扎。你找到任何相关信息了吗?据我了解,所有副本都具有相同的“重要性”,即杀死任何人对集群应该意味着相同
    猜你喜欢
    • 2021-05-15
    • 2018-07-27
    • 1970-01-01
    • 2017-07-31
    • 1970-01-01
    • 2018-09-15
    • 2020-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多