kafka-console-producer.sh可以发送消息到topic,但是kafka-console-consumer.sh消费不到消息
时间: 2023-07-15 20:10:36 浏览: 160
出现这种情况可能有以下几个原因:
1. 确认kafka集群是否正常运行,可以使用命令`kafka-topics.sh --list --zookeeper <zookeeper_host:port>`查看topic列表是否正确。
2. 确认producer发送到正确的topic,可以使用命令`kafka-console-consumer.sh --bootstrap-server <kafka_host:port> --topic <topic_name> --from-beginning`尝试消费消息。
3. 确认consumer连接的kafka集群是否正确,可以使用命令`kafka-console-consumer.sh --bootstrap-server <kafka_host:port> --topic <topic_name> --from-beginning`尝试消费消息。
4. 如果是在同一台机器上测试,可能是因为producer和consumer使用了不同的kafka配置文件,可以尝试将它们都使用同一个配置文件。
如果以上几个原因都排除掉了,还是无法消费到消息,可以查看kafka日志文件,确认是否有异常报错,进一步分析问题所在。
相关问题
进入目录/simple/kafka_2.10-0.8.1.1,执行命令bin/kafka-topics.sh --create --zookeeper simple:2181 --replication-factor 1 --partitions 1 --topic logtopic ,bin/kafka-console-producer.sh --broker-list simple:9092 --topic logtopic ,bin/kafka-console-consumer.sh --zookeeper simple:2181 --from-beginning --topic logtopic 是什么意思
这是一组关于Kafka消息队列的命令:
1. `bin/kafka-topics.sh --create --zookeeper simple:2181 --replication-factor 1 --partitions 1 --topic logtopic`:创建一个名为`logtopic`的主题(topic),指定它只有一个分区(partition),副本系数(replication factor)为1,使用zookeeper作为管理和协调的中心,简单来说就是创建了一个可以用来存储消息的主题。
2. `bin/kafka-console-producer.sh --broker-list simple:9092 --topic logtopic`:启动一个控制台生产者(console producer)程序,用于向名为`logtopic`的主题发送消息。`--broker-list`参数指定了Kafka broker的地址,这里是`simple:9092`,即Kafka broker的主机名为`simple`,端口号为`9092`。
3. `bin/kafka-console-consumer.sh --zookeeper simple:2181 --from-beginning --topic logtopic`:启动一个控制台消费者(console consumer)程序,用于从名为`logtopic`的主题消费消息。`--zookeeper`参数指定了zookeeper的地址,这里是`simple:2181`,即zookeeper的主机名为`simple`,端口号为`2181`。`--from-beginning`参数表示从主题的开头开始消费消息。简单来说就是创建了一个可以从主题中读取消息的消费者。
阅读全文