我发现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
答案 0 :(得分:2)
由于这篇类似的帖子,我最终解决了我的问题: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
中的主题,如下所示:
$ kafka/bin/zookeeper-shell.sh localhost:2181
Connecting to localhost:2181
Welcome to ZooKeeper!
JLine support is disabled
rmr /broker/topics/mytopic
重新启动经纪人并再次创建主题。
答案 1 :(得分:0)
--partition
和控制台消费者新API工作(但挂起..)。我有CDH 5.12 + Kafka 0.11(来自包裹)。
UPD:
另请注意,Kafka 0.11(在CDH parclel中版本为3.0.0)无法正常使用消息。在降级到Kafka 0.10后,它变得可以。 --partition
不再需要了。
答案 2 :(得分:0)
我遇到了同样的问题,但是我的“群集”使用了一个代理实例,我收到了这个错误:
<强>的/ var /日志/消息强>
[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
并重新启动。它开始运作良好。