【问题标题】:Kafka HA consumer setupKafka HA 消费者设置
【发布时间】:2017-12-21 05:29:11
【问题描述】:

我的应用程序使用来自 kafka 主题的消息,当我在我的环境中运行一个实例时,它工作正常,但是如果我运行多个实例,比如说 3 个实例(高可用性),那么我的应用程序的任何实例都不能使用来自主题的消息。

我有 3 个关于该主题的分区和 1 个复制因子。

当我跑步时

./kafka-topics.sh --describe --zookeeper localhost:2181 --topic mytesttopic

Topic:mytesttopic     PartitionCount:3        ReplicationFactor:1     Configs:
    Topic: mytesttopic    Partition: 0    Leader: 0       Replicas: 0     Isr: 0
    Topic: mytesttopic    Partition: 1    Leader: 0       Replicas: 0     Isr: 0
    Topic: mytesttopic    Partition: 2    Leader: 0       Replicas: 0     Isr: 0

它为我提供了 mytesttopic 的上述配置。所以我不确定这里缺少哪些步骤来消费来自 HA 中的 Kafka 或多个消费者实例的消息。

【问题讨论】:

  • 需要更多细节。命令的输出 ./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group domain-fetching-job KafkaConsumer Configuration
  • 另外,当您说“我的应用程序实例都不能使用来自主题的消息”时,是否有任何错误?日志中有任何带有 log4j 跟踪的内容吗?

标签: apache-kafka kafka-consumer-api


【解决方案1】:

您应该验证您的所有 Kafka 代理实例都已在 Zookeeper 上注册,并且当然具有不同的broker.id

你可以通过运行这个来做到这一点:/bin/zookeeper-shell.sh localhost:2181 ls /brokers/ids

创建具有 3 个分区的新主题并运行 describe 命令后,您应该会得到以下输出:

Topic: mytesttopic   PartitionCount:3    ReplicationFactor:1    Configs:
Topic: mytesttopic   Partition: 0    Leader: 2   Replicas: 2 Isr: 2
Topic: mytesttopic   Partition: 1    Leader: 0   Replicas: 0 Isr: 0
Topic: mytesttopic   Partition: 2    Leader: 1   Replicas: 1 Isr: 1

【讨论】:

    猜你喜欢
    • 2020-05-21
    • 1970-01-01
    • 2019-04-22
    • 2019-08-09
    • 2019-04-04
    • 2019-03-26
    • 2020-09-19
    • 2017-11-16
    • 1970-01-01
    相关资源
    最近更新 更多