【问题标题】:Kafka consumer with new API not working使用新 API 的 Kafka 消费者无法正常工作
【发布时间】:2017-08-21 18:52:58
【问题描述】:

我发现 Kafka 有一些很奇怪的地方。

我有一个生产者和 3 个经纪人:

bin/kafka-console-producer.sh --broker-list localhost:9093, localhost:9094, localhost:9095 --topic topic

然后我尝试使用新 API 运行消费者:

bin/kafka-console-consumer.sh --bootstrap-server localhost:9093,localhost:9094,localhost:9095 --topic topic --from-beginning

我什么都没有!但如果我使用旧 API:

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic topic

我收到了消息!

我怎么了?

PS:我使用的是 Kafka 10

【问题讨论】:

  • 我不确定,但我认为--bootstrap-server 只需要一个host:port 而不是一个列表?另外,您可能需要添加--new-consumer
  • 感谢您的回答。它尝试了您的建议,但没有奏效。我最终解决了我的问题(请参阅我的答案)。

标签: apache-kafka


【解决方案1】:

我遇到了同样的问题,但是我为我的“集群”使用了一个代理实例,我收到了这个错误:

/var/log/messages

[2018-04-04 22:29:39,854] ERROR [KafkaApi-20] Number of alive brokers '1' does not meet the required replication factor '3' for the offsets topic (configured via 'offsets.topic.replication.factor'). This error can be ignored if the cluster is starting up and not all brokers are up yet. (kafka.server.KafkaApis) 

我刚刚在我的服务器配置文件中添加了设置offsets.topic.replication.factor=1 并重新启动。它开始工作正常。

【讨论】:

    【解决方案2】:

    在与同样的问题打了一段时间之后。指定 --partition 和控制台消费者新 API 工作(但挂起..)。我有 CDH 5.12 + Kafka 0.11(来自包裹)。

    更新:

    还发现 Kafka 0.11(在 CDH 包中版本为 3.0.0)无法正常处理消费消息。降级到 Kafka 0.10 后就可以了。 --partition 不需要了。

    【讨论】:

      【解决方案3】:

      感谢这篇类似的帖子,我最终解决了我的问题:Kafka bootstrap-servers vs zookeeper in kafka-console-consumer

      我认为这是我的错误/错误配置导致 zookeeper 和 kafka 出现问题。

      解决方案:

      首先确保在您的代理的server.properties 文件中启用主题删除:

      # Switch to enable topic deletion or not, default value is false
      delete.topic.enable=true
      

      然后删除主题:

      bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic myTopic
      

      删除代理的所有/tmp/log.dir 目录。

      编辑:我又遇到了这个问题,我还必须删除 /tmp/zookeeper/version-2/ 中 zookeeper 的日志文件。

      最后删除zookeeper中/brokers/topics中的topic如下:

      $ kafka/bin/zookeeper-shell.sh localhost:2181
      Connecting to localhost:2181
      Welcome to ZooKeeper!
      JLine support is disabled
      
      rmr /broker/topics/mytopic
      

      然后重新启动您的代理并再次创建您的主题。

      【讨论】:

      • 这为我解决了,太好了!但是,这在生产中又如何呢?如果我们不应该删除主题?
      • 我不认为这是一个答案,因为没有提供 root,而是简单而具体的设置步骤。
      猜你喜欢
      • 2017-09-19
      • 1970-01-01
      • 2016-10-31
      • 2011-09-04
      • 1970-01-01
      • 2015-01-26
      • 1970-01-01
      • 1970-01-01
      • 2019-11-21
      相关资源
      最近更新 更多