【问题标题】:Can not consume messages from Kafka cluster无法消费来自 Kafka 集群的消息
【发布时间】:2019-07-04 02:58:14
【问题描述】:

我定义了一个包含两个节点的 Kafka 集群,复制因子为 2。当我尝试使用控制台消费者来消费消息时,它什么也不做,它只是等待。

制片人
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic adi

消费者
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic adi --from-beginning

集群描述
运行./bin/kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic adi 渲染:

Topic:adi       PartitionCount:1        ReplicationFactor:2   Configs:segment.bytes=1073741824        Topic: adi      Partition: 0    Leader: 3     Replicas: 3,2   Isr: 3,2

附言 我所做的只是关注Kafka Quickstart Tutorial。

【问题讨论】:

  • 你写过--topic adi--from-beginning或--topic adi --from-beginning吗?
  • 打错字了
  • 我假设您已经使用kafka-console-producer.sh 生成了一些消息。当您发送多条消息(即:写一些字符/单词并在交互式 console-producer.sh 脚本上按 ENTER)时,您无法在 kafka-console-consumer.sh 窗口中收到相同的消息?
  • 是的,就是这样。我在消费者终端中没有收到任何信息。它只是在等待。
  • 提高日志级别以进行调试 - 客户端在查找代理时遇到问题吗?你会从NetworkClient 得到很多例外。然后我做的一件事实际上是用127.0.0.1 替换localhost 并明确设置服务器配置以在127.0.0.1:9002 等上监听和宣传自己(advertised.listeners 属性)。

标签: apache-kafka consumer


【解决方案1】:

在 kafka-console-consumer 中添加其他代理地址并检查。

你可能没有从领导副本中消费,试试

./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092, other-broker:other-port --topic adi --from-beginning

确保您从同一台服务器运行 prod/consumer,最好使用服务器 ip 而不是 localhost。

【讨论】:

  • Kafka做服务器发现,只提供一台服务器就够了。甚至属性名称也暗示 - 它只是查找其他集群成员的引导程序。
猜你喜欢
  • 2021-04-26
  • 1970-01-01
  • 2020-02-22
  • 2012-05-30
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
  • 2019-07-01
相关资源
最近更新 更多