Kafka HA消费者设置

时间:2017-12-20 06:15:41

标签: apache-kafka kafka-consumer-api

我的应用程序使用来自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或多个消费者实例的消息。

1 个答案:

答案 0 :(得分:0)

您应该验证您的所有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